【JavaScript ECMAScript】Object::Object.getOwnPropertyNames静的メソッドの使い方
Object.getOwnPropertyNames()静的メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
Object.getOwnPropertyNames()メソッドは、指定されたオブジェクトが直接所有するすべてのプロパティ名(文字列型のプロパティ)の配列を返すメソッドです。このメソッドは、オブジェクト自身のプロパティだけを対象とし、プロトタイプチェーンを通じて継承されたプロパティは含みません。また、プロパティが列挙可能(enumerable)であるかどうかにかかわらず、すべての文字列プロパティ名をリストアップします。ただし、Symbol(シンボル)型のプロパティ名はこのメソッドの対象外であり、それらを取得するには別のメソッド(Object.getOwnPropertySymbols())を使用する必要があります。
例えば、あるオブジェクトが持つすべてのデータプロパティやメソッド名を知りたい場合、このObject.getOwnPropertyNames()メソッドを利用することで、そのオブジェクトが「何を持っているか」を具体的に調べることができます。返される配列の要素の順序は保証されませんが、常に文字列の配列として返されます。これは、オブジェクトの内部構造を検査したり、特定の処理を行う前にオブジェクトのプロパティを列挙したりする際に非常に役立ちます。主に、オブジェクトの設計やデバッグ、ライブラリの作成など、より高度なJavaScriptプログラミングにおいて、オブジェクトのメタ情報を取得するために活用されます。
公式リファレンス: Object.getOwnPropertyNames()
構文(syntax)
1const exampleObject = { 2 key1: "value1", 3 key2: 123, 4 "spaced key": true 5}; 6const propertyNames = Object.getOwnPropertyNames(exampleObject); 7console.log(propertyNames);
引数(parameters)
obj
- obj: Object: プロパティ名を取得したいオブジェクト
戻り値(return)
Array<string>
指定されたオブジェクトが持つ、自身が直接所有する列挙不可能なプロパティ名を含む文字列の配列を返します。