为什么Math.PI被标记为不可枚举?

时间:2018-10-20 03:39:13

标签: javascript browser ecmascript-6 ecmascript-5

我执行了这段小代码:

 Object.getOwnPropertyDescriptor(Math, 'PI');

输出为      {value:3.141592653589793,可写:false,可枚举:false,可配置:false}

Math.PI将可写标志设置为false是有道理的,因为它是一个常量,不应更改。为了使甚至可写标志均不可更改,可配置标志也设置为false。但是,为什么可枚举标志设置为false?为什么不应该列举?

1 个答案:

答案 0 :(得分:0)

实际上Math的所有属性都是不可枚举的。那可能是因为:

  for(const prop of Math) {
   console.log(prop);
  }

毫无意义。