我们可以使用global.console.log('A')
表示控制台是全局对象的属性。但是使用console.log(global)
,我看不到任何名为“ console”的属性?
答案 0 :(得分:4)
它是不可枚举的,因此,仅在记录普通global
对象时它不会显示。但是它仍然直接位于global
上:
>global.hasOwnProperty('console')
true
> Object.getOwnPropertyDescriptor(global, 'console')
{
value: {
...
},
writable: true,
enumerable: false,
configurable: true
}
如果要检查对象的所有属性,请使用Object.getOwnPropertyNames
:
Object.getOwnPropertyNames(global)
(global
上有很多个不可枚举的属性,只有几个可枚举的属性)