49

Node.js 是否已经支持 => function 关键字别名?如果是,从哪个版本开始?如何启用此语言扩展?

(function() { console.log('it works!') })()

变成

(() => { console.log('it works!') })()
4

4 回答 4

77

简而言之:的,从 4.4.5 版本开始,Node.js 对箭头函数的支持相当不错。

完全正确的支持从版本 6 开始。在 v0.12 中引入了初始支持,但非常不完整,默认情况下禁用,直到 v4.0 变得更好。有关详细信息,请参阅 Node 的 ES6 兼容性表:http: //node.green/#ES2015-functions-arrow-functions

于 2016-07-07T08:58:32.470 回答
32

您所指的语法是“箭头函数”语法。它是 ECMAScript 6 的一个特性,也称为“Harmony”。ES6 标准现已最终确定,但引擎仍在实现其新功能。

V8 现在支持箭头功能。Node 在 V8 引擎上运行,但 Node 可能需要一些时间才能将最新版本合并到其代码库中。

每当添加它时,它可能只能通过--harmony命令行标志启用。

于 2013-10-28T20:34:34.230 回答
20

您可以关注此问题: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:升级到 ....”)

于 2014-05-02T20:44:32.340 回答
4

kangax 的兼容性表可以让您及时了解 Node.js 中当前可用的内容。

可以使用此页面上的说明启用实验功能:

Node.js 上默认启用所有运输功能

分阶段功能需要运行时标志:(--es_staging或其同义词,--harmony

进行中的功能可以通过它们各自的和谐标志(例如--harmony_destructuring)单独激活,但强烈建议不要这样做

于 2016-04-04T02:29:48.003 回答