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