可枚举属性和不可枚举属性是什么
所谓的可枚举就是可遍历的意思,也就是说对象的属性是否能够通过遍历得到。即通过for...in循环遍历到。
怎么判断属性是否可枚举
对象的属性是否具有可枚举属性是由enumerable值决定;
可以通过obj.propertyIsEnumerable(prop);来判断obj对象的prop属性是否能够枚举,该方法返回的是一个布尔值
哪些对象的属性是不可枚举的
js中基本包装类型的原型属性是不可枚举的,如Object, Array, Number

属性是否可枚举有什么用
引入可枚举性这个概念的最初目的是为了让某些属性可以规避掉for...in操作,不然内部属性和方法都会遍历到
那些方法可遍历到可枚举属性
- for...in;遍历自身和继承的可枚举属性;
- Object.keys(obj);返回一个包括对象自身可枚举属性的健名的数组
网友评论