https://idea-hack.com/courses/arrange-and-remember-how-to-handle-arrays-in-javascript/lessons/is-it-impossible-to-edit-the-object-with-javascript/
https://idea-hack.com/courses/arrange-and-remember-how-to-handle-arrays-in-javascript/lessons/is-it-impossible-to-edit-the-object-with-javascript/

JavaScriptでオブジェクトの編集が不可能になっているかを確認するObject.isFrozen()メソッドの使い方

JavaScriptではオブジェクトを定義して、あらゆるデータを一括で管理、まとめておくことが可能です。

JavaScriptで一度定義したオブジェクトがあり、もう変更させたくない場合が多々あります。(予測しないオブジェクトの変更を防ぐため)

そんな時はfreeze()メソッドで、すでに定義済みのオブジェクトの編集を不可能にしますが、すでに編集不可能になっているかを確認するにはObject.isFronzen()メソッドを利用します。

メソッド

メソッド意味返り値
Object.isFrozen()オブジェクトが変更不可能かどうかを確認真偽値
Object.isFrozen()メソッド

サンプルコード

Output
Object.freeze(sampleObjects);を適用する前
Object.freeze(sampleObjects);を適用した後
Pug
.container.my-5
	div
		table.table
			tbody
				tr
					th Object.freeze(sampleObjects);を適用する前
					td#targetText
				tr
					th Object.freeze(sampleObjects);を適用した後
					td#targetText1
JavaScript
const targetText = document.getElementById( 'targetText' );
const targetText1 = document.getElementById( 'targetText1' );

const sampleObjects = {
  post_id: 1,
  author_id: 10,
  title: 'Hello World',
  published_date: '20191223',
  subObject: { password: 123456, author_name: '佐藤'},
  sampleArray: ['りんご', 'レモン', 'みかん'],
}
targetText.textContent = Object.isFrozen(sampleObjects);

Object.freeze(sampleObjects);

targetText1.textContent = Object.isFrozen(sampleObjects);
インストラクター
コメント

コメントを残す