JavaScriptで自分自身のプロパティディスクリプタを取得する方法


  1. Object.getOwnPropertyDescriptor()メソッドを使用する方法: このメソッドは、指定したオブジェクトの指定したプロパティに関するディスクリプタを取得します。以下は使用例です。

    const obj = { name: 'John', age: 30 };
    const descriptor = Object.getOwnPropertyDescriptor(obj, 'name');
    console.log(descriptor);

    上記の例では、objオブジェクトのnameプロパティのディスクリプタを取得しています。結果は以下のように表示されます。

    {
     value: 'John',
     writable: true,
     enumerable: true,
     configurable: true
    }

    ディスクリプタオブジェクトには、プロパティの値(value)、書き込み可否(writable)、列挙可否(enumerable)、設定可否(configurable)などの情報が含まれます。

  2. Object.getOwnPropertyDescriptors()メソッドを使用する方法: このメソッドは、指定したオブジェクトの全てのプロパティディスクリプタを取得します。以下は使用例です。

    const obj = { name: 'John', age: 30 };
    const descriptors = Object.getOwnPropertyDescriptors(obj);
    console.log(descriptors);

    上記の例では、objオブジェクトの全てのプロパティディスクリプタを取得しています。結果は以下のように表示されます。

    {
     name: {
       value: 'John',
       writable: true,
       enumerable: true,
       configurable: true
     },
     age: {
       value: 30,
       writable: true,
       enumerable: true,
       configurable: true
     }
    }

    プロパティ名をキーとし、それぞれのプロパティに対するディスクリプタオブジェクトが値として含まれています。