我执行了这段小代码:
Object.getOwnPropertyDescriptor(Math, 'PI');
输出为 {value:3.141592653589793,可写:false,可枚举:false,可配置:false}
Math.PI将可写标志设置为false是有道理的,因为它是一个常量,不应更改。为了使甚至可写标志均不可更改,可配置标志也设置为false。但是,为什么可枚举标志设置为false?为什么不应该列举?
答案 0 :(得分:0)
实际上Math
的所有属性都是不可枚举的。那可能是因为:
for(const prop of Math) {
console.log(prop);
}
毫无意义。