JavaScript/Object/getOwnPropertyNames
表示
< JavaScript | Object
Object.getOwnPropertyNames()
は、指定されたオブジェクトのすべての独自プロパティの名前を配列として返すメソッドです。このメソッドは、列挙可能かどうかに関係なく、すべての独自プロパティの名前を含む配列を返します[1]。
構文
[編集]Object.getOwnPropertyNames(obj)
obj
: プロパティ名を取得する対象のオブジェクト。
例
[編集]すべての独自プロパティ名を取得するプログラム
[編集]以下のプログラムは、Object.getOwnPropertyNames()
を使用してすべての独自プロパティ名を取得します。
constobj={a:1,b:2};constpropertyNames=Object.getOwnPropertyNames(obj);console.log(propertyNames);// ['a', 'b']
このプログラムでは、Object.getOwnPropertyNames()
を使用して obj
オブジェクトのすべての独自プロパティ名を取得しています。
列挙不可のプロパティ名も取得するプログラム
[編集]以下のプログラムは、Object.getOwnPropertyNames()
を使用して列挙不可のプロパティ名も取得します。
constobj={};Object.defineProperty(obj,'a',{value:1,enumerable:true});Object.defineProperty(obj,'b',{value:2,enumerable:false});constpropertyNames=Object.getOwnPropertyNames(obj);console.log(propertyNames);// ['a', 'b']
このプログラムでは、Object.getOwnPropertyNames()
を使用して obj
オブジェクトのすべての独自プロパティ名を取得しています。b
プロパティは列挙不可ですが、Object.getOwnPropertyNames()
は列挙不可のプロパティも含めて返します。
注意点
[編集]- 独自プロパティ:
Object.getOwnPropertyNames()
は、指定されたオブジェクトの独自プロパティのみを対象とします。継承されたプロパティは含まれません。 - 列挙不可のプロパティ: 列挙不可のプロパティも含めて返します。
- シンボルプロパティ: シンボルプロパティの名前は含まれません。シンボルプロパティの名前を取得するには、
Object.getOwnPropertySymbols()
を使用します。
脚註
[編集]- ^これは、オブジェクトのすべての独自プロパティの名前を取得するために使用されます。