静态变量JavaScript ECMA6

静态变量JavaScript ECMA6,javascript,ecmascript-6,static-variables,Javascript,Ecmascript 6,Static Variables,我有一个遵循ECMA6标准的JavaScript类,我想在其中创建一个静态变量 为此,我阅读了以下文档: 第一个链接演示如何在ECMA6中的类内创建静态方法,而第二个链接演示如何使用原型和函数在ECMA6之前创建静态变量 这些都不是我想要的。我在找这样的东西: class AutoMobile { constructor(name, license) { //class variables (public) this.name = name;

我有一个遵循ECMA6标准的JavaScript类,我想在其中创建一个静态变量

为此,我阅读了以下文档:

第一个链接演示如何在ECMA6中的类内创建静态方法,而第二个链接演示如何使用原型和函数在ECMA6之前创建静态变量

这些都不是我想要的。我在找这样的东西:

class AutoMobile {

    constructor(name, license) {
        //class variables (public)
        this.name = name;
        this.license = license;
    }

   //static variable declaration
   static DEFAULT_CAR_NAME = "Bananas-Benz";
}
但是,前面的示例不起作用,因为
static
关键字仅用于方法


如何使用ECMA6在JavaScript类中创建静态变量?

您可以使用getter实现这一点:

class AutoMobile {

  constructor(name, license) {
    //class variables (public)
    this.name = name;
    this.license = license;
  }

  //static variable declaration
  static get DEFAULT_CAR_NAME() {
    return "Bananas-Benz";
  }
}
并通过以下方式访问:

const defaultCarName = AutoMobile.DEFAULT_CAR_NAME;

ES2015不支持类属性。

变量的关键字
const
不是吗?创建类属性最简单的方法就是分配它。它们是受支持的,只是不作为
语法的一部分。