Object.keys()
は、オブジェクトのの列挙型のプロパティである文字列のarray
を返します。プロパティ。
Object.getOwnPropertyNames(target).
concat(Object.getOwnPropertySymbols(target))
Object.getOwnPropertyNames()
方法が指定されたオブジェクト上に直接検出されたすべてのプロパティの配列(enumerable
か)を返し:
Reflect.ownKeys(obj)
は、同等のものを返します。
Object.getOwnPropertySymbols()
方法は、指定されたオブジェクト上に直接検出されたすべてのsymbol
プロパティの配列を返します。
var testObject;
Object.defineProperty(testObject, 'myMethod', {
value: function() {
alert("Non enumerable property");
},
enumerable: false
});
//does not print myMethod since it is defined to be non-enumerable
console.log(Object.keys(testObject));
//prints myMethod irrespective of it being enumerable or not.
console.log(Reflect.ownKeys(testObject));
小fiddle
を実証する。
ドキュメントをチェックしましたか? – Bergi