Node.js 箭头函数在节点中不工作--Ubuntu下的harmony

Node.js 箭头函数在节点中不工作--Ubuntu下的harmony,node.js,ecmascript-harmony,arrow-functions,Node.js,Ecmascript Harmony,Arrow Functions,我试图在Ubuntu 14.04下的节点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..j

我试图在
Ubuntu 14.04
下的
节点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

节点,即使带有harmony标志,也不支持胖箭头


编辑:有趣的小事实,ES6支持是Node进入io.js的原因之一。签出-它们为箭头函数提供了一个标志,但不鼓励使用它。

这应该在节点v0.12.x中使用,
--harmony
标志。还请注意,您可以使用
babel
包在节点中获取箭头函数

更新:


正如Mike'Pomax'Kamermans正确指出的那样,当使用Node.js>=4.x时,不需要
--harmony
标志。有关Node.js中ES6支持状态的更多信息,请参阅。

谢谢@tydotg,你知道这个未来何时可用吗?不完全确定参考页面想说什么,但我认为关键是它在v8 JavaScript引擎中还不可用,所以它不在Node中。看起来他们预计3月底v8会出现胖箭头,所以很可能在之后的某个时候在最新的节点版本中提供。实际上,我不认为3.29是一个日期,而是v8的一个版本号(看起来是在去年年底发布的)@AdrianBaran许多人选择开始使用Transpiler,比如,为了开始使用ES6功能而不需要完全的运行时支持。我认为
6to5
将是目前我的解决方案。谢谢@loganfsmyth。这应该是公认的答案。我可以确认,在v0.12.0上,箭头函数是“受支持的”。然而,它似乎只是
函数
的一种语法替代,因为它没有按照规范要求正确绑定范围。因此,在修复之前,它们基本上是无用的。@PhpMyCoder这在Node.js>=v4中正常工作<代码>让foo={a:'a',foo(){return()=>this.a;}}
foo.foo()a'
请注意,截至2016年初,Node的当前版本(4.*LTS和5.*stable)都支持此功能,而不需要任何标志。即使有此标志,该节点版本也不支持此功能。看见