【发布时间】:2019-08-03 20:44:31
【问题描述】:
我只是想知道,现在是否可以在 2019 年在 Node 10.15 中使用 ES6,因为我认为 ES6 现在将成为原生支持和实现的 Javascript 功能?我在这里找到了一些答案:NodeJS plans to support import/export es6 (es2015) modules 但我不确定现在的实际状态。
我刚刚在 Node 中尝试了一些带有箭头函数的 ES6 类:
class Test {
testVar = 1;
constructor(x,y) {
this.counter =0;
this.x = x;
this.y = y;
this.increaseCounter();
this.testVar +=1;
}
getCounter = () => {
console.log("Counter:", this.counter);
}
increaseCounter = () => {
this.counter += 1;
}
}
我得到一个错误:
getCounter = () => {
^
SyntaxError: Unexpected token =
而且,我无法创建类的全局类实例变量(每次创建新的类实例时都会将 testVar 增加 1..)在 Javascript 类中通常是如何完成的?
我知道有一个 babel 编译器包支持这个并以某种方式转译代码,但现在 ES6 不应该是原生支持的 Javascript 代码吗?
【问题讨论】:
-
getCounter = () => {在这种情况下,一开始就不是有效的 ES6 -
但它是有效的Stage 3 Proposal - 您可以使用命令行标志
--harmony在节点中启用它 -
@JaromandaX 是将该方法添加到
Test.prototype还是直接添加到该类的每个实例? -
@JaromandaX 带有 --harmony 标志,它适用于箭头函数。
-
是的,我知道@user2774480 ...但这仍然不是 ES6 即
ES2015 (6th edition)...它可能是ES2019 (10th edition)或更高版本,因为它是不在ES2018 (9th edition)- ECMA 并没有在 2015 年停止开发 javascript ...自那以后又发布了 3 个规范
标签: javascript node.js ecmascript-6