带箭头函数语法的Getter

有什么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语法


有一个更好的方法来做到这一点。 它可以使用Babel Preset进行类转换。 获取此特定功能的预设为'preset-stage-2'。

预设阶段2的babel文档页面:https://babeljs.io/docs/plugins/preset-stage-2/

用例:在你的.bablerc文件和现在。

{
  "presets": ["stage-2"]
}

注意 :它是一个单独的npm模块,所以请事先安装。


您不能使用箭头函数来定义类声明中的类函数。 试图这样做会产生语法错误。

以下代码:

class MyClass {
  static get myVal() {
    console.log(this);
    return 1;
  }

  static get yourVal = () => {
    console.log(this);
    return 2;
  }
}
链接地址: http://www.djcxy.com/p/39379.html

上一篇: Getter with arrow function syntax

下一篇: Index not Found Exception