Object.getOwnPropertyNames()

(標準組み込みオブジェクト > Object > メソッド)
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyNames

指定したオブジェクトの、列挙可能なプロパティ名のリストを返す。keys()との違いは、列挙不可のものも併せて取得できるかどうかである。getOwnPropertyNames()は列挙不可のものも取得できる。
※列挙不可なプロパティ:我々が普通に作るプロパティは全てenumerable(列挙可能性)がtrueのプロパティになる。しかし、Object.prototypeが持つメソッドや、JavaScriptの言語仕様としてすでに存在しているようなプロパティは、基本的に列挙の邪魔にならないようにenumerableがfalseになっている。

const arr = ['a','b','c'];
console.log(Object.getOwnPropertyNames(arr));
>> ['0','1','2','length']

var obj = {x: 100, y: 200, z: 300};
var names = Object.getOwnPropertyNames(obj);
console.log(names);
>> ["x", "y", "z"]
inserted by FC2 system