【Node.js24.x】Object::keys()メソッドの使い方
keysメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
Object.keysメソッドは、指定されたオブジェクトが直接所有する、列挙可能なプロパティのキー(プロパティ名)を文字列の配列として返すメソッドです。このメソッドは、オブジェクトのプロパティ名を一覧で取得する際に非常に有用です。
具体的には、引数として渡されたオブジェクトの、自身が持つプロパティのうち、そのプロパティが「列挙可能(enumerable)」として定義されているものだけを抽出します。継承されたプロパティや、列挙可能ではないプロパティ(例えば、Object.prototype上のメソッドなど)は対象外となります。戻り値は、抽出されたプロパティ名を要素として持つ新しい配列です。配列内の要素の順序は、数値キーを持つプロパティは昇順に、それ以外の文字列キーを持つプロパティはオブジェクトに追加された順序に従うのが一般的です。
このメソッドを使うことで、オブジェクトがどのような情報を持っているかを動的に把握したり、オブジェクトの各プロパティに対して同じ処理を繰り返し実行したりすることが容易になります。例えば、あるオブジェクトのすべてのプロパティ名を取得し、それらを使ってオブジェクト内の値にアクセスするといった用途に利用できます。ただし、シンボルをキーとして持つプロパティはObject.keysでは取得されません。それらを取得するにはObject.getOwnPropertySymbolsメソッドを使用する必要があります。Object.keysは、オブジェクトの構造を理解し、操作するための基本的なツールの一つとして幅広く利用されています。
構文(syntax)
1const obj = { 2 propertyA: 'value1', 3 propertyB: 123, 4 propertyC: true 5}; 6const keysArray = Object.keys(obj); 7console.log(keysArray);
引数(parameters)
obj
- obj: object: キーを取得したいオブジェクト
戻り値(return)
string[]
与えられたオブジェクトの所有する列挙可能なプロパティの名前を文字列の配列として返します。