箭头功能在 Ubuntu 下的节点 --harmony 中不起作用
Arrow functions not working in node --harmony under Ubuntu
我正在尝试在 Ubuntu 14.04
下的 node v0.10.33
中使用箭头函数(我是带有 --harmony
标志的 运行 节点),但我得到了这个错误:
console.log( [1,2,3,4].map(x => x*x) );
^
SyntaxError: Unexpected token >
at Module._compile (module.js:439:25)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:906:3
节点,即使有和谐标志,也不支持粗箭头。 Source.
编辑:有趣的小事实,ES6 支持是 Node 分叉到 io.js 的原因之一。查看 their page on ES6 features - 他们为箭头函数提供了一个标志,但不鼓励使用它。
现在应该可以在节点 v0.12.x 中使用 --harmony
标志。另请注意,您可以使用 babel
包在节点中获取箭头功能。
http://babeljs.io/docs/using-babel/
更新:
正如 Mike 'Pomax' Kamermans 正确指出的那样,使用 Node.js >= 4.x 时不需要 --harmony
标志。有关 Node.js 中 ES6 支持状态的更多信息,请参阅 https://nodejs.org/en/docs/es6/。
我正在尝试在 Ubuntu 14.04
下的 node v0.10.33
中使用箭头函数(我是带有 --harmony
标志的 运行 节点),但我得到了这个错误:
console.log( [1,2,3,4].map(x => x*x) );
^
SyntaxError: Unexpected token >
at Module._compile (module.js:439:25)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:906:3
节点,即使有和谐标志,也不支持粗箭头。 Source.
编辑:有趣的小事实,ES6 支持是 Node 分叉到 io.js 的原因之一。查看 their page on ES6 features - 他们为箭头函数提供了一个标志,但不鼓励使用它。
现在应该可以在节点 v0.12.x 中使用 --harmony
标志。另请注意,您可以使用 babel
包在节点中获取箭头功能。
http://babeljs.io/docs/using-babel/
更新:
正如 Mike 'Pomax' Kamermans 正确指出的那样,使用 Node.js >= 4.x 时不需要 --harmony
标志。有关 Node.js 中 ES6 支持状态的更多信息,请参阅 https://nodejs.org/en/docs/es6/。