静态变量 JavaScript ECMA6
Static Variable JavaScript ECMA6
我有一个遵循 ECMA6 标准的 JavaScript class,我想在其中创建一个静态 变量。
为此,我阅读了以下文档:
- JavaScript Static keyword MDN
- Static variables in JavaScript
第一个 link 演示了如何在 ECMA 6 中的 class 中创建静态方法,而第二个 link 演示了如何使用原型和函数来实现创建ECMA6 之前的静态变量。
None 这就是我想要的。我正在寻找这样的东西:
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 中的 class 中创建静态变量?
您可以使用 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;
Class 属性在 ES2015 中不受支持。
我有一个遵循 ECMA6 标准的 JavaScript class,我想在其中创建一个静态 变量。
为此,我阅读了以下文档:
- JavaScript Static keyword MDN
- Static variables in JavaScript
第一个 link 演示了如何在 ECMA 6 中的 class 中创建静态方法,而第二个 link 演示了如何使用原型和函数来实现创建ECMA6 之前的静态变量。
None 这就是我想要的。我正在寻找这样的东西:
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 中的 class 中创建静态变量?
您可以使用 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;
Class 属性在 ES2015 中不受支持。