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