Object.freeze()の使い方

Object.freeze()の使い方

Object.seal()メソッドではプロパティの追加も削除もできなくなりますが、既存プロパティの値変更は可能でした。

Object.freeze()メソッドを使用すると、値変更も不可になります。

const obj = { x: 1, y: 2 };
Object.freeze(obj);
delete obj.x; // 削除できない
obj.z = 3; // 追加できない
obj.y = 10; // 代入できない
console.log(obj); // {x:1,y:2}と表示される

以下を実行します。

console.log(Object.getOwnPropertyDescriptor(obj,'x'));

writableもconfigurableもfalseなので、再定義もできません。

だんだんJSの緩さがなくなりつつありますね。。

Object.freeze()の使い方

コメント

タイトルとURLをコピーしました