相关疑难解决方法(0)

680
推荐指数
19
解决办法
59万
查看次数

在ES6类中声明静态常量?

我想在a中实现常量class,因为在代码中找到它们是有意义的.

到目前为止,我一直在使用静态方法实现以下解决方法:

class MyClass {
    static constant1() { return 33; }
    static constant2() { return 2; }
    // ...
}
Run Code Online (Sandbox Code Playgroud)

我知道有可能摆弄原型,但许多人建议不要这样做.

有没有更好的方法在ES6类中实现常量?

javascript class constants ecmascript-6

272
推荐指数
7
解决办法
21万
查看次数

为Javascript类创建静态或类变量的现代方法

我一直在寻找一个明确的答案,弹出的大部分内容仍然与旧的(或者我应该说"传统的")方式相关function.

根据这个SO答案,

ES2015不支持类属性.

据我所知,向类中添加静态变量的唯一方法是:

https://jsfiddle.net/abalter/fknwx3n4/

class C {

  constructor(x) {
    console.log("in constructor " + x);
    this.x = x;
    this.add(this.x);
  }

  add(x) {
    console.log("in add " + x);
    C.alist.push(x);
  }

  show() {
    console.log("in show");
    console.log(C.alist);
  }
}

// MUST be done outside of actual class definition.
C.alist = [];

c1 = new C(5);
c1.show();
c2 = new C(10);
c1.show();
c2.show();
Run Code Online (Sandbox Code Playgroud)

这是故事的结尾吗?在类定义中无法做到这一点似乎很奇怪.

javascript oop class static-members ecmascript-6

7
推荐指数
1
解决办法
1156
查看次数