📅  最后修改于: 2023-12-03 15:31:48.241000             🧑  作者: Mango
Object.getOwnPropertyNames()
方法返回对象自身所有属性的属性名,包括不可枚举属性,但不包括继承的属性
Object.getOwnPropertyNames(obj)
obj
:要获取属性名的对象一个包含该对象自身所有属性(不包括继承)名称的数组。
let obj = {
name: 'John',
age: 32
};
let arr = ['a', 1, 'b', 2];
console.log(Object.getOwnPropertyNames(obj)); // ['name', 'age']
console.log(Object.getOwnPropertyNames(arr)); // ['0', '1', '2', '3', 'length']
以上示例中,返回了 obj
对象自身所有的属性名称,而对于数组 arr
,由于其本身也是一个对象,因此返回了其自身属性名称以及数组独有的属性 length
。
Object.getOwnPropertyNames()
方法返回的数组中,属性名称的顺序与其在对象中的位置无关。null
或 undefined
,则会抛出 TypeError
。