枚举对象的所有属性
2020-03-10 本文已影响0人
混吃等死小前端
let obj = {
name: "awm",
age: 18
};
Object.defineProperty(obj, "a", {
value : 37
}); // a不可枚举
obj.__proto__.add = 4; //给obj的原型添加属性a
console.log(obj) // {name: "awm", age: 18, a: 37}
for(let i in obj){
console.log(i)
}
//name
//age
//add
- Object.keys(obj):输出自身可枚举属性,不包含原型
Object.keys(obj)
// ["name", "age"]
- Object.getOwnPropertyNames(o):输出自身所有属性(可枚举+不可枚举),不包含原型
Object.getOwnPropertyNames(obj)
// ["name", "age", "a"]