Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【JavaScript ECMAScript】Object::Object.getOwnPropertyDescriptor静的メソッドの使い方

Object.getOwnPropertyDescriptor()静的メソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

Object.getOwnPropertyDescriptor()メソッドは、指定されたオブジェクトが持つ「独自の(own)」プロパティについて、その詳細な設定情報(プロパティディスクリプタ)を取得するメソッドです。

このメソッドは、第一引数に対象のオブジェクトを、第二引数に調べたいプロパティの名前を文字列で指定して呼び出します。戻り値は、そのプロパティの属性を記述したオブジェクト、つまりプロパティディスクリプタです。プロパティディスクリプタには、プロパティの値を示す 'value'、その値が変更可能かを示す真偽値 'writable'、for...in ループなどで列挙可能かを示す真偽値 'enumerable'、そしてプロパティの属性変更や削除が可能かを示す真偽値 'configurable' といった情報が含まれます。

もしプロパティがアクセサプロパティ(ゲッターやセッターを持つプロパティ)である場合は、'value' や 'writable' の代わりに 'get'(ゲッター関数)と 'set'(セッター関数)が含まれます。このメソッドの重要な点は、オブジェクトがプロトタイプチェーンを通じて継承したプロパティではなく、そのオブジェクト自身が直接定義している「独自の」プロパティにのみ適用される点です。指定されたプロパティが存在しない場合、このメソッドは undefined を返します。

システム開発において、オブジェクトのプロパティが書き換え可能であるか、列挙可能であるか、あるいは削除可能であるかといった内部的な振る舞いを正確に確認したい場合に、このメソッドは非常に有用です。例えば、オブジェクトの特定のプロパティを安全に設定・操作したり、あるいは既存のオブジェクトのプロパティをより厳密な制御の下でコピーしたりする際に活用できます。これにより、オブジェクトの設計や動作をより詳細に把握し、堅牢なコードを記述することに役立ちます。

公式リファレンス: Object.getOwnPropertyDescriptor()

構文(syntax)

1Object.getOwnPropertyDescriptor(object, propertyName);

引数(parameters)

obj, prop

  • obj: object: プロパティディスクリプタを取得したいオブジェクト
  • prop: string | symbol: 取得したいプロパティの名前またはシンボル

戻り値(return)

プロパティディスクリプタオブジェクトまたは undefined

指定されたプロパティに関する情報を含むプロパティディスクリプタオブジェクト、またはプロパティが存在しない場合には undefined を返します。

関連コンテンツ

関連プログラミング言語