【JavaScript ECMAScript】Object::Object.keys静的メソッドの使い方
Object.keys()静的メソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
Object.keys()メソッドは、引数として渡されたオブジェクトが自身で所有するプロパティのうち、列挙可能なプロパティの名前(キー)を文字列の配列として返すメソッドです。このメソッドは、JavaScriptの組み込みオブジェクトであるObjectクラスの静的メソッドとして提供されており、オブジェクトのプロパティを動的に操作したり、オブジェクトがどのようなプロパティを持っているかを確認したりする際に非常に役立ちます。
具体的には、オブジェクトのプロパティ名を一覧として取得し、それらを使ってループ処理を行いたい場合や、特定のプロパティの存在をプログラムで把握したい場合に利用されます。例えば、{ name: 'Alice', age: 30 }というオブジェクトにこのメソッドを適用すると、['name', 'age']という配列が返されます。
注意点として、Object.keys()はオブジェクト自身が持つプロパティのみを対象とし、プロトタイプチェーンを通じて継承されたプロパティは含まれません。また、Object.defineProperty()などでenumerable: falseと設定された、列挙できないプロパティも結果には含まれません。戻り値の配列内の要素の順序は、ECMAScript 2015(ES6)以降では通常、プロパティの定義順に一致します。数値や文字列などのプリミティブ値を引数に指定した場合は、空の配列を返します。このメソッドを使うことで、オブジェクトの構造をより柔軟に扱い、多様なデータ処理ロジックを実装できるようになります。
構文(syntax)
1const obj = { 2 property1: "value1", 3 property2: "value2", 4 property3: "value3" 5}; 6const keysArray = Object.keys(obj); 7// keysArray は ["property1", "property2", "property3"] となる
引数(parameters)
obj
- obj: object: キーのリストを取得したいオブジェクト
戻り値(return)
string[]
Object.keys()メソッドは、指定されたオブジェクト自身が持つ列挙可能なプロパティ名の配列を返します。配列の要素は文字列型(string)です。