object.keys相当于for..in.将对象转为数组 属性名为值 如 obj={ a:1, b:2 } 转为 [a,b] 枚举是 可枚举属性是对象中可被 for...in 循环遍历到的属性。
let obj = {name: "Andy", age: 18};
for(let key in obj) {
console.log(key);
}
//name
//age
很显然,obj这个对象中,name和age都是可枚举属性。 我们说,可枚举属性是可以被 for...in 循环遍历出来的属性,那么“不可枚举属性”就是指不能被 for...in 循环遍历出来的属性。
let obj = {name: "Andy", age: 18};
Object.defineProperty(obj, 'gender', {
value: 'male',
enumerable: false
});
for(let key in obj) {
console.log(key);
}
//name
我们可以发现,gender这个“不可枚举属性”就不能被 for...in 循环遍历出来。
enumerable: false
* for..in循环
* Object.keys方法
* JSON.stringify方法
//age