javascript - 是否可以在 Node 中设置 ECMAScript 版本?

标签 javascript node.js v8

我发现 Node 使用 Chrome 的 V8 JavaScript 引擎。有一些关于 ES6 支持的信息 here , 和 here .使用 Node 时,甚至还有一个 V8 选项的开关:

node --v8-options

但是似乎没有一个选项允许选择 ECMAScript 版本。

此外here前几年查到资料说Node支持ES3,后来随着V8的演进转为ES5。

是否有可能强制 Node 使用早于 5-th 的 ECMAScript 版本?目前使用的V8引擎是否完全支持ES版本选择?

最佳答案

EcmaScript 的所有版本都向后兼容以前的版本。

ES3 功能在 ES5 中工作,ES5 功能在 ES2015 中工作,因此无需专门在 ES3 环境中运行代码,因为 ES3 代码在 ES5 和 ES2015 中应该可以正常工作。

总的来说,新版本的 EcmaScript 中没有添加任何重大更改,即使在 ES5 中,当他们决定尝试稍微清理一下语言时,他们决定添加 use strict ,以免破坏在 ES3 中运行的旧代码中的任何内容。

Javascript 引擎通常没有运行不同版本 EcmaScript 的选项,因为不需要它,最新版本应该与所有以前版本的标准兼容。

关于javascript - 是否可以在 Node 中设置 ECMAScript 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40566615/

相关文章:

javascript - p5.j​​s 中的弹跳球未激活条件语句

javascript - LeafletJS : Is it possible to show an ImageOverlay over a VectorLayer?

javascript - 视频内联 iOS 不工作

node.js - 在构建供应商包时向 Aurelia 添加 super 测试会导致错误

gcc - 修复 Mavericks 上的 ruby​​racer/libv8 (0.12.1) 安装

javascript - d3 : rotations and force directed layouts

javascript - 测试 API 如何使用 node.js 处理无效的 JSON 语法请求正文

windows - 在我的项目中安装 npm 模块

c++ - 我应该包装一个完全包含在 node.js 函数中的 C++ 对象吗?

javascript - "rhino1.7.6"与 "V8"中 JavaScript RegExp 的结果不同