在js中,对象的属性分为可枚举和不可枚举,它们是由属性的enumerable值决定的,不可枚举属性,js中内置属性是遍历不到的。
可枚举性(enumerable)用来控制所描述的属性,是否将被包括在for…in循环之中。具体来说,如果一个属性的enumerable为false,下面三个操作不会取到该属性。
- for…in循环
- Object.keys方法
- JSON.stringify方法
Object.keys()
方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用for...in
循环遍历该对象时返回的顺序一致 。