其他分享
首页 > 其他分享> > chrome打印js对象属性时为什么有的是高亮色的有的是暗色?

chrome打印js对象属性时为什么有的是高亮色的有的是暗色?

作者:互联网

1.问题? 

const foo  = {
    name:'kobe',
    age:18,
}


console.log(Object.prototype)
console.log(foo)

使用console打印一段代码时,我们发现,有的对象属性时高亮色,比如foo的age属性和name属性;

有些对象属性时暗色,比如Object.prototype的constructor属性、hasOwnProperty属性;

 

 

 

2.原因:

高亮色是可遍历的,数据描述符的enumable是true的;

浅色是不可以遍历的,enumable为fasel,在node中,不可遍历的属性时不会打印的,但是chrome可能为了我们调试代码方便,不可遍历的属性也使用暗色显示出来了。

 

 我们也可通过对象的proprotyIsEnumable()方法验证。

 

 

 

参考:

https://segmentfault.com/q/1010000017903420

 

标签:遍历,console,chrome,js,有的是,暗色,亮色,foo,属性
来源: https://www.cnblogs.com/EricShen/p/16365625.html