JavaScript/Object/keys
< JavaScript | Object
Object.keys()
は、指定されたオブジェクトの列挙可能な自身のプロパティ名を文字列の配列として返すメソッドです。配列の要素は、オブジェクトの列挙可能なプロパティ名を列挙順で格納しています[1]。
構文
編集Object.keys(obj)
obj
: プロパティ名を取得する対象のオブジェクト。
例
編集オブジェクトのプロパティ名を取得するプログラム
編集以下のプログラムは、Object.keys()
を使用してオブジェクトのプロパティ名を取得します。
const obj = { name: 'John', age: 30, city: 'Tokyo' }; console.log(Object.keys(obj)); // ['name', 'age', 'city']
このプログラムでは、Object.keys()
を使用して obj
オブジェクトの列挙可能なプロパティ名を配列として取得しています。
継承したプロパティを含まないことを確認するプログラム
編集以下のプログラムは、Object.keys()
が継承したプロパティを含まないことを確認します。
const parent = { inherited: 'value' }; const child = Object.create(parent); child.own = 'ownValue'; console.log(Object.keys(child)); // ['own']
このプログラムでは、Object.keys()
を使用して継承元のオブジェクトから継承したプロパティを含まずに、自身のプロパティ名のみを取得していることを確認しています。
注意点
編集- 列挙可能なプロパティ:
Object.keys()
は列挙可能なプロパティのみを返します。 - 自身のプロパティ: プロトタイプチェーンを通じて継承したプロパティは含まれません。
- 配列の順序: 返される配列の要素は、オブジェクトのプロパティを列挙する際の順序に従います。
- 非オブジェクト: 非オブジェクト(例:
null
やundefined
)を指定すると、TypeError
が発生します。
脚註
編集- ^ これは、オブジェクトのプロパティ名を取得するために使用されます。
外部リンク
編集