【问题标题】:ES6 static final property of class [duplicate]ES6类的静态最终属性[重复]
【发布时间】:2017-06-07 04:08:39
【问题描述】:

如何将静态属性(常量)分配给我的 ES6 类?

关于我想要实现的伪代码:

class MyClass {

    static run() {
        // do something
    }

    static CONSTANT = {
        foo: "bar"
    }
}

MyClass.run(); // this works
console.log(MyClass.CONSTANT); // this sadly not

这给了我错误:

Uncaught SyntaxError: Unexpected token =

【问题讨论】:

标签: javascript ecmascript-6


【解决方案1】:

类语法只允许方法定义。但是你可以在外面分配属性:

class MyClass {}
MyClass.CONSTANT = {
  foo: "bar"
};
console.log(MyClass.CONSTANT); // this works

【讨论】:

  • 这不是一个常数。它是可重新分配的。
  • @TedBarth 好吧,只需将其定义为不可枚举不可写。没有常量属性这样的东西,只有常量绑定。您似乎对静态和常量之间的区别感到困惑。
猜你喜欢
  • 2018-06-09
  • 2017-10-20
  • 1970-01-01
  • 2015-08-13
  • 2010-11-27
  • 2014-12-07
  • 1970-01-01
  • 2021-05-10
  • 2013-08-17
相关资源
最近更新 更多