ECMAScript 2015 (ES6) 及更高版本
目录
Node.js 是针对现代版本的 V8 构建的。 通过与该引擎的最新版本保持同步,我们确保及时向 Node.js 开发人员提供 JavaScript ECMA-262 规范 的新功能,以及持续的性能和稳定性改进。
所有 ECMAScript 2015 (ES6) 功能都分为三组,用于发布、阶段和进行中功能:
- V8 认为稳定的所有 shipping 功能在 Node.js 上都默认开启 并且 NOT** 需要任何类型的运行时标志。
- Staged 功能,即 V8 团队认为不稳定的几乎完成的功能,需要一个运行时标志:
--harmony
. - 进行中功能可以通过各自的和谐标志单独激活,但除非出于测试目的,否则强烈建议不要这样做。 注意: 这些标志由 V8 公开,并且可能会在没有任何弃用通知的情况下发生变化。
默认情况下,哪个 Node.js 版本附带哪些功能?
网站 node.green 基于 kangax 的兼容表,提供了对各种 Node.js 版本中支持的 ECMAScript 功能的出色概述。
哪些功能正在进行中?
新功能不断添加到 V8 引擎中。 一般来说,预计他们会登陆未来的 Node.js 版本,尽管时间未知。
您可以通过 --v8-options
参数 grepping 列出每个 Node.js 版本上可用的所有正在进行的功能。 请注意,这些是 V8 的不完整且可能损坏的功能,因此使用它们需要您自担风险:
我的基础架构设置为利用 --harmony 标志。 我应该删除它吗?
Node.js 上 --harmony
标志的当前行为是仅启用 staged 功能。 毕竟现在已经是--es_staging
的代名词了。 如上所述,这些是尚未被认为稳定的已完成功能。 如果您想安全起见,尤其是在生产环境中,请考虑删除此运行时标志,直到它默认在 V8 上发布,然后在 Node.js 上发布。 如果保持此启用状态,您应该准备好进一步升级 Node.js 以在 V8 更改其语义以更紧密地遵循标准时破坏您的代码。
如何找到特定版本的 Node.js 附带的 V8 版本?
Node.js 提供了一种简单的方法来通过 process
全局对象列出特定二进制文件附带的所有依赖项和相应版本。 如果是 V8 引擎,请在终端中键入以下内容以检索其版本: