【发布时间】:2019-03-24 22:14:03
【问题描述】:
我执行了一小段代码:
Object.getOwnPropertyDescriptor(Math, 'PI');
输出是 {值:3.141592653589793,可写:false,可枚举:false,可配置:false}
Math.PI 将可写标志设置为 false 是有道理的,因为它是一个常量,不应更改。为了使可写标志不可更改,可配置标志也设置为 false。但是为什么可枚举标志设置为假?为什么不应该枚举?
【问题讨论】:
-
好吧,
enumerable属性必须具有一定的价值,我看不出它是可枚举或不可枚举的特殊原因。基本上,您通常根本不会枚举Math对象,因此该值有些随机(没有任何原因),或者当没有特别的理由使其可枚举时,您将其设为不可枚举。
标签: javascript browser ecmascript-6 ecmascript-5