Node.js是针对现代版本的V8构建的,经过与该引擎的最新版本保持同步,咱们确保及时向Node.js开发人员提供JavaScript ECMA-262规范的新功能,以及持续的性能和稳定性改进。node
全部ECMAScript 2015(ES6)功能分为三组,用于交付、阶段和进行中的功能:git
--harmony
。harmony
标志单独激活,但除非出于测试目的,不然这是很是不鼓励的,注意:这些标志由V8公开,而且可能会在没有任何弃用通知的状况下更改。网站node.green基于kangax的compat-table,提供了各类版本的Node.js中支持的ECMAScript功能的完美概述。github
V8引擎不断添加新功能,通常来讲,指望它们落在将来的Node.js版本上,尽管时间尚不清楚。安全
你能够经过grep --v8-options
参数列出每一个Node.js版本上可用的全部正在进行的功能,请注意,这些是不完整的,多是V8的损坏功能,所以使用它们须要你自担风险:性能
node --v8-options | grep "in progress"
V8团队一直在努力提升新语言功能的性能,以最终与EcmaScript 5及更早版本中的已转换的或对应的原生保持一致,目前的进展状况在网站上以six-speed跟踪,显示了ES2015和ESNext功能与其原生ES5相比的性能。测试
ES2015及更高版本引入的优化功能的工做经过性能计划进行协调,V8团队收集并协调须要改进的领域,并设计文档来解决这些问题。优化
--harmony
标志,我应该删除吗?Node.js上--harmony
标志的当前行为是仅启用分阶段功能,毕竟,它如今是--es_staging
的同义词,如上所述,这些是还没有被认为稳定的完整特征。若是你想要安全地玩,特别是在生产环境中,请考虑删除此运行时标志,直到它默认发布在V8上,因此,在Node.js上也是。若是启用此功能,则应准备好进一步的Node.js升级,若是V8更改其语义以更接近标准,则升级将破坏你的代码。网站
Node.js提供了一种简单的方法经过process
全局对象来列出附带特定二进制文件的全部依赖项和相应版本,若是是V8引擎,请在终端中键入如下内容以检索其版本:google
node -p process.versions.v8