【JavaScript ECMAScript】Object::Object.isSealed静的メソッドの使い方
Object.isSealed()静的メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
Object.isSealed()メソッドは、指定されたオブジェクトがシールされているかどうかを判定し、その結果を真偽値で返すメソッドです。
オブジェクトが「シールされている」とは、以下の条件がすべて満たされている状態を指します。
まず、新しいプロパティをそのオブジェクトに追加することができません。次に、既存のプロパティを削除することもできません。さらに、既存のプロパティの属性(例えば、書き込み可能かどうかや設定可能かどうかなど)を変更することもできません。ただし、既存のプロパティの値そのものは変更することが可能です。この点が、オブジェクトを完全に凍結するObject.freeze()とは異なります。
このメソッドは、引数として渡されたオブジェクトがObject.seal()メソッドによってシールされた場合、またはObject.freeze()メソッドによって凍結された場合にtrueを返します。それ以外の場合はfalseを返します。オブジェクトの変更可能性をプログラムで確認し、意図しない変更を防ぐための堅牢なコードを書く際に役立ちます。
公式リファレンス: Object.isSealed()
構文(syntax)
1const myObject = { 2 propertyA: 10 3}; 4 5Object.seal(myObject); 6 7console.log(Object.isSealed(myObject));
引数(parameters)
obj
- obj: object: 検査対象となるオブジェクト
戻り値(return)
boolean
指定されたオブジェクトが、プロパティの追加や削除、および既存プロパティの属性変更ができないように密封(Sealed)されているかどうかを示す真偽値(Boolean)を返します。密封されている場合は true、そうでない場合は false を返します。