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() を使用してオブジェクトを拡張不可にすることができます。
  • 非オブジェクト: 非オブジェクト(例: nullundefined)を指定すると、TypeError が発生します。

脚註

編集
  1. ^ これは、オブジェクトが拡張可能かどうかを判定するために使用されます。

外部リンク

編集