Node.js是针对现代V8版本而构建的。通过了解该引擎的最新版本,我们确保JavaScript ECMA-262规范的新功能及时提供给Node.js开发人员,以及持续的性能和稳定性改进。
所有ECMAScript 2015(ES6)功能分为三组,用于已完成,提案和正在进行的功能:
- V8认为稳定的所有运输功能默认情况下在Node.js上打开,不需要任何类型的运行时标志。
- V8团队不认为稳定的几乎完成的功能的分阶段功能需要运行时标志:--harmony。
- 正在进行的功能可以通过各自的标志单独激活,尽管这是非常不鼓励的,除非为了测试目的。注意:这些标志由V8公开,并且将有可能更改,而不会有任何弃用通知。
Node.js版本默认使用哪些功能?
网站node.green提供了基于kangax的compat-table的不同版本Node.js中支持的ECMAScript功能的一个很好的概述。
哪些功能正在进行中?
新功能不断添加到V8引擎中。一般来说,他们希望在未来的Node.js版本中登陆,尽管时机尚属未知。 您可以通过浏览--v8选项参数列出每个Node.js版本上可用的所有正在进行的功能。请注意,这些是V8的不完整和可能破坏的功能,所以使用它们自己承担风险:
$ node --v8-options | grep "in progress"
特定功能的性能如何?
V8团队不断努力提高新语言功能的性能,最终与EcmaScript 5及更早版本中的transp transp或本地同行达成平等。目前在网站上的进展速度跟踪了六速,这显示了ES2015和ESNext功能与其原生ES5对手相比的性能。 通过性能计划协调了ES2015及以后引进的优化功能的工作,V8团队收集和协调需要改进的领域,并设计文档来解决这些问题。
在基础的配置使用了 -harmony 标识。我应该删除它吗?
Node.js上的--harmony标志的当前行为是仅启用分段功能。毕竟,它现在是--es_staging的同义词。如上所述,这些是尚未被认为是稳定的完整特征。如果要安全使用,特别是在生产环境中,请考虑删除此运行时标志,直到默认在V8上运行,因此在Node.js上。如果您启用此功能,则应准备好进一步的Node.js升级,以便在V8更改其语义以更符合标准的情况下中断代码。
如何查找具有特定版本的Node.js的V8版本?
Node.js提供了一种简单的方法来列出通过进程全局对象附带特定二进制文件的所有依赖关系和相应版本。在V8引擎的情况下,在终端中键入以下内容以检索其版本:
$ node -p process.version.v8
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。