有没有一种JavaScript语法可以更简洁地实现以下操作?
或者这个更难读且更长的替代方案:
class MyClass {
static get myProp() {
return 1;
}
}
这并不是什么大问题,但我想知道是否有类似箭头函数的东西可以让我更加简洁,例如:
class MyClass {
static get myProp = () => 1;
}
我知道可以像这样编写代码(虽然不是安全的等价方式):
class MyClass {}
MyClass.myProp = 1;
或者这个更难读且更长的替代方案:
class MyClass {}
Object.define(MyClass, 'myProp', { get: () => 1; });
但那感觉就像滥用了 class
语法。
static get myProp() { ...
时,他们并不需要只读属性。这只是将MyClass.myProp = 1
提升到constructor
之上的惯用方式(例如,在 AngularJS $inject 注释中很有用)。除了您列出的那些方法外,没有其他选择。显然不支持static get myProp = () => 1
,因为没有理由让它被分配给任何函数以外的东西。 - Estus Flask