JavaScript/Object/isExtensible
< JavaScript | Object
Object.isExtensible()
は、指定されたオブジェクトが拡張可能かどうかを判定するメソッドです。このメソッドは、オブジェクトに新しいプロパティを追加できるかどうかを確認します[1]。
構文
編集Object.isExtensible(obj)
obj
: 拡張可能かどうかを判定する対象のオブジェクト。
例
編集オブジェクトが拡張可能かどうかを判定するプログラム
編集以下のプログラムは、Object.isExtensible()
を使用してオブジェクトが拡張可能かどうかを判定します。
const obj = {}; console.log(Object.isExtensible(obj)); // true Object.preventExtensions(obj); console.log(Object.isExtensible(obj)); // false
このプログラムでは、Object.isExtensible()
を使用して obj
オブジェクトが拡張可能かどうかを判定しています。最初は obj
は拡張可能であるため true
が返されますが、Object.preventExtensions()
を使用して拡張不可にした後は false
が返されます。
凍結されたオブジェクトが拡張可能かどうかを判定するプログラム
編集以下のプログラムは、Object.isExtensible()
を使用して凍結されたオブジェクトが拡張可能かどうかを判定します。
const obj = {}; Object.freeze(obj); console.log(Object.isExtensible(obj)); // false
このプログラムでは、Object.isExtensible()
を使用して凍結された obj
オブジェクトが拡張可能かどうかを判定しています。凍結されたオブジェクトは拡張不可であるため、false
が返されます。
注意点
編集- 拡張可能: デフォルトでは、すべてのオブジェクトは拡張可能です。
- 拡張不可:
Object.preventExtensions()
、Object.seal()
、Object.freeze()
を使用してオブジェクトを拡張不可にすることができます。 - 非オブジェクト: 非オブジェクト(例:
null
やundefined
)を指定すると、TypeError
が発生します。
脚註
編集- ^ これは、オブジェクトが拡張可能かどうかを判定するために使用されます。
外部リンク
編集