Node.js 是否已经支持 => function 关键字别名?如果是,从哪个版本开始?如何启用此语言扩展?
(function() { console.log('it works!') })()
变成
(() => { console.log('it works!') })()
Node.js 是否已经支持 => function 关键字别名?如果是,从哪个版本开始?如何启用此语言扩展?
(function() { console.log('it works!') })()
变成
(() => { console.log('it works!') })()
简而言之:是的,从 4.4.5 版本开始,Node.js 对箭头函数的支持相当不错。
完全正确的支持从版本 6 开始。在 v0.12 中引入了初始支持,但非常不完整,默认情况下禁用,直到 v4.0 变得更好。有关详细信息,请参阅 Node 的 ES6 兼容性表:http: //node.green/#ES2015-functions-arrow-functions。
您所指的语法是“箭头函数”语法。它是 ECMAScript 6 的一个特性,也称为“Harmony”。ES6 标准现已最终确定,但引擎仍在实现其新功能。
V8 现在支持箭头功能。Node 在 V8 引擎上运行,但 Node 可能需要一些时间才能将最新版本合并到其代码库中。
每当添加它时,它可能只能通过--harmony
命令行标志启用。
您可以关注此问题:https ://code.google.com/p/v8/issues/detail?id=2700
目前(作为 02.05.2014)箭头功能已经实现,并等待此功能将在 v8 中登陆:https ://codereview.chromium.org/160073006/
之后我们需要等待,直到带有箭头功能的 v8 版本集成到 Node.JS 中。您可以在此处关注 Node.JS 更改日志:https ://github.com/joyent/node/blob/master/ChangeLog (搜索“v8:升级到 ....”)
kangax 的兼容性表可以让您及时了解 Node.js 中当前可用的内容。
可以使用此页面上的说明启用实验功能:
Node.js 上默认启用所有运输功能
分阶段功能需要运行时标志:(
--es_staging
或其同义词,--harmony
)进行中的功能可以通过它们各自的和谐标志(例如
--harmony_destructuring
)单独激活,但强烈建议不要这样做