×
ECMAScript
標準組込オブジェク
ト
標準組込コンストラクター
非公開オブジェクト
インターフェース
【JSリファレンス】Object.getOwnPropertyDescriptors()
更新日:2024/06/14
初出:ECMAScript2017
Object.getOwnPropertyDescriptors()はObjectコンストラクターのメソッドです。
オブジェクトが所有するプロパティのプロパティ記述子を、一括で取得します。
プロパティ記述子については、Object.defineProperty()を参照してください。
対象となるプロパティは、オブジェクトが直接所有するプロパティです。
プロトタイプ上のプロパティは対象外です。
■構文
Object.getOwnPropertyDescriptors ( O )
- O: 対象オブジェクト
オブジェクト以外の値はオブジェクトに変換される
■使用例
const s = Symbol();
const obj = {
prop:200,
text:"hello",
[s]:300
}
console.log( Object.getOwnPropertyDescriptors( obj ) );
// {
// prop: { value: 200, writable: true, enumerable: true, configurable: true },
// text: {
// value: 'hello',
// writable: true,
// enumerable: true,
// configurable: true
// },
// [Symbol()]: { value: 300, writable: true, enumerable: true, configurable: true }
// }
▶ プロパティ記述子を使用したオブジェクト複製
const obj = {
_value:200,
set value(v){ this._value = v; },
get value(){ return this._value *2; }
}
const propertyDescriptors = Object.getOwnPropertyDescriptors( obj );
const obj2 = Object.defineProperties( {} ,propertyDescriptors );
console.log( obj2 ); // { _value: 200, value: [Getter/Setter] }
obj2.value = 1000;
console.log( obj2.value ); // 2000
関連ページ
更新日:2024/06/14
スポンサーリンク
記事の内容について

こんにちはけーちゃんです。
説明するのって難しいですね。
「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。
裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。
そんなときは、ご意見もらえたら嬉しいです。
掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。
ご意見、ご指摘はこちら。
https://jsref.affi-sapo-sv.com/info.php
このサイトは、リンクフリーです。大歓迎です。