JavaScript/Object/getOwnPropertyDescriptors
< JavaScript | Object
Object.getOwnPropertyDescriptors()
は、指定されたオブジェクトのすべての独自プロパティのプロパティディスクリプタを含むオブジェクトを返すメソッドです。このメソッドは、各プロパティの属性(value
, writable
, enumerable
, configurable
, get
, set
など)を含むオブジェクトを返します[1]。
構文
編集Object.getOwnPropertyDescriptors(obj)
obj
: プロパティディスクリプタを取得する対象のオブジェクト。
例
編集すべてのプロパティディスクリプタを取得するプログラム
編集以下のプログラムは、Object.getOwnPropertyDescriptors()
を使用してすべてのプロパティディスクリプタを取得します。
const obj = { a: 1, b: 2 }; const descriptors = Object.getOwnPropertyDescriptors(obj); console.log(descriptors); // 出力: // { // a: { // value: 1, // writable: true, // enumerable: true, // configurable: true // }, // b: { // value: 2, // writable: true, // enumerable: true, // configurable: true // } // }
このプログラムでは、Object.getOwnPropertyDescriptors()
を使用して obj
オブジェクトのすべての独自プロパティのプロパティディスクリプタを取得しています。
ゲッターとセッターを持つプロパティのディスクリプタを取得するプログラム
編集以下のプログラムは、Object.getOwnPropertyDescriptors()
を使用してゲッターとセッターを持つプロパティのディスクリプタを取得します。
const obj = { _a: 1, get a() { return this._a; }, set a(value) { this._a = value; } }; const descriptors = Object.getOwnPropertyDescriptors(obj); console.log(descriptors); // 出力: // { // _a: { // value: 1, // writable: true, // enumerable: true, // configurable: true // }, // a: { // get: [Function: get a], // set: [Function: set a], // enumerable: true, // configurable: true // } // }
このプログラムでは、Object.getOwnPropertyDescriptors()
を使用して obj
オブジェクトのすべての独自プロパティのプロパティディスクリプタを取得しています。a
プロパティはゲッターとセッターを持つため、get
と set
が含まれています。
注意点
編集- 独自プロパティ:
Object.getOwnPropertyDescriptors()
は、指定されたオブジェクトの独自プロパティのみを対象とします。継承されたプロパティは含まれません。 - シンボルプロパティ: シンボルプロパティのディスクリプタも取得できます。
- 空のオブジェクト: 指定されたオブジェクトが空の場合、空のオブジェクトを返します。
脚註
編集- ^ これは、オブジェクトのすべてのプロパティの詳細な情報を取得するために使用されます。
外部リンク
編集