带箭头函数语法的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