具有箭头函数语法的Getter

sam*_*ime 8 javascript ecmascript-6

是否有任何JavaScript语法可以让我更简洁地执行以下操作:

class MyClass {
    static get myProp() {
        return 1;
    }
}
Run Code Online (Sandbox Code Playgroud)

这不是什么大不了的事,但我想知道是否有类似箭头功能的东西让我让它更加流线型,例如:

class MyClass {
    static get myProp = () => 1;
}
Run Code Online (Sandbox Code Playgroud)

我知道我可以这样写(虽然不是安全的等价物):

class MyClass {}
MyClass.myProp = 1;
Run Code Online (Sandbox Code Playgroud)

或者这个更难阅读和更长的选择:

class MyClass {}
Object.define(MyClass, 'myProp', { get: () => 1; });
Run Code Online (Sandbox Code Playgroud)

但这感觉就像是滥用class语法

Bha*_*t23 3

有一个更好的方法可以做到这一点。可以使用 Babel Preset 进行类转换来完成。获得此特定功能的预设是“preset-stage-2”。

babel关于preset-stage-2的文档页面: https: //babeljs.io/docs/plugins/preset-stage-2/

用例:在您的.bablerc文件中。

{
  "presets": ["stage-2"]
}
Run Code Online (Sandbox Code Playgroud)

注意:它是一个单独的 npm 模块,因此请提前安装。