getOwnPropertyNames()
方法的语法为:
Object.getOwnPropertyNames(obj)
使用Object
类名称调用作为静态方法的getOwnPropertyNames()
方法。
getOwnPropertyNames()参数
getOwnPropertyNames()
方法采用:
- obj-要返回其可枚举和不可枚举属性的对象。
从getOwnPropertyNames()返回值
- 返回与直接在给定对象中找到的属性相对应的字符串数组。
注意: Object.getOwnPropertyNames()
返回对象的所有自身属性,而Object.keys()
返回所有可枚举的自身属性。
示例:使用getOwnPropertyNames()
// array object
let arr = ["a", "b", "c"];
console.log(Object.getOwnPropertyNames(arr)); // [ '0', '1', '2', 'length' ]
// array-like objects
let obj = { 65: "A", 66: "B", 67: "C" };
console.log(Object.getOwnPropertyNames(obj)); // [ '65', '66', '67' ]
// non-enumerable properties are also returned
let obj1 = Object.create(
{},
{
getValue: {
value: function () {
return this.value;
},
enumerable: false,
},
}
);
obj1.value = 45;
console.log(Object.getOwnPropertyNames(obj1)); // [ 'getValue', 'value' ]
输出
[ '0', '1', '2', 'length' ]
[ '65', '66', '67' ]
[ 'getValue', 'value' ]
推荐阅读: Javascript Object.hasOwnProperty()