枚举的意思+object.keys

208 阅读1分钟

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