JavaScript/Object/isSealed
Object.isSealed() は、指定されたオブジェクトがシールされているかどうかを判定するメソッドです。このメソッドは、オブジェクトのプロパティの追加・削除が不可能な状態かどうかを確認します[1]。
構文
Object.isSealed(obj)
obj: シールされているかどうかを判定する対象のオブジェクト。
例
オブジェクトがシールされているかどうかを判定するプログラム
以下のプログラムは、Object.isSealed() を使用してオブジェクトがシールされているかどうかを判定します。
const obj = {}; console.log(Object.isSealed(obj)); // false Object.seal(obj); console.log(Object.isSealed(obj)); // true
このプログラムでは、Object.isSealed() を使用して obj オブジェクトがシールされているかどうかを判定しています。最初は obj はシールされていないため false が返されますが、Object.seal() を使用してシールした後は true が返されます。
凍結されたオブジェクトがシールされているかどうかを判定するプログラム
以下のプログラムは、Object.isSealed() を使用して凍結されたオブジェクトがシールされているかどうかを判定します。
const obj = {}; Object.freeze(obj); console.log(Object.isSealed(obj)); // true
このプログラムでは、Object.isSealed() を使用して凍結された obj オブジェクトがシールされているかどうかを判定しています。凍結されたオブジェクトはシールされた状態を含むため、true が返されます。
注意点
- シール状態: デフォルトでは、すべてのオブジェクトはシールされていません。
- シールの条件: オブジェクトがシールされているとは、そのオブジェクトが拡張不可で、すべてのプロパティが設定不可である状態を指します。
- 非オブジェクト: 非オブジェクト(例:
nullやundefined)を指定すると、TypeErrorが発生します。
脚註
- ↑ これは、オブジェクトがシールされているかどうかを判定するために使用されます。