【JavaScript ECMAScript】Object::Object.isFrozen静的メソッドの使い方
Object.isFrozen()静的メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
Object.isFrozen()メソッドは、引数として渡されたオブジェクトが「凍結」されているかどうかを判定し、その結果を真偽値で返すメソッドです。オブジェクトが凍結されているとは、そのオブジェクトに対してプロパティの追加、削除、または既存プロパティの値や記述子の変更といった、一切の変更ができない状態を指します。加えて、オブジェクトのプロトタイプを変更することも不可能です。
このメソッドは、特定のオブジェクトが誤って変更されないよう保護されているかを確認したい場合や、ライブラリやフレームワーク内でオブジェクトの状態をチェックする際に非常に有用です。引数には、凍結状態を検査したいオブジェクトを指定します。もしそのオブジェクトが凍結されていればtrueを、凍結されていなければfalseを返します。
オブジェクトを凍結するには、Object.freeze()メソッドを使用します。Object.isFrozen()は、オブジェクトが拡張不可(プロパティ追加不可)であり、かつすべての既存プロパティが設定不可(プロパティ削除や記述子変更不可)かつ書き込み不可(値変更不可)である場合にtrueを返します。この凍結は「浅い凍結」であり、オブジェクトが他のオブジェクトをプロパティとして持っている場合、その内部のオブジェクト自体は凍結されない点に留意してください。これにより、オブジェクトが最も厳格な変更不可の状態にあることを確実に判断できます。
公式リファレンス: Object.isFrozen()
構文(syntax)
1const obj = {}; 2console.log(Object.isFrozen(obj)); 3 4Object.freeze(obj); 5console.log(Object.isFrozen(obj));
引数(parameters)
obj
- obj: Object: 凍結されているかどうかを確認したいオブジェクト
戻り値(return)
boolean
指定されたオブジェクトが凍結されているかどうかを判定し、凍結されていれば true、そうでなければ false を返します。