【问题标题】:Static Variable JavaScript ECMA6 [duplicate]静态变量 JavaScript ECMA6 [重复]
【发布时间】:2016-09-25 14:12:04
【问题描述】:

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

为了实现这一点,我阅读了以下文档:

第一个链接演示了如何在 ECMA 6 中的类中创建静态方法,而第二个链接演示了如何使用原型和函数来实现 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 类中创建静态变量?

【问题讨论】:

  • 关键字const不是变量吗?

标签: javascript ecmascript-6 static-variables


【解决方案1】:

您可以使用 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 不支持类属性。

【讨论】:

  • 创建类属性的最简单方法是分配它。它们支持,只是不是class 语法的一部分。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-10
  • 2013-03-01
  • 2012-04-04
  • 2014-01-25
  • 1970-01-01
  • 1970-01-01
  • 2013-01-31
相关资源
最近更新 更多