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

时间:2016-11-12 19:10:35

标签: javascript node.js v8

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

node --v8-options

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

此外here我发现几年前Node支持ES3的信息,但后来随着V8的发展,它转向了ES5。

是否可以强制Node使用早于5的ECMAScript版本?目前使用的V8引擎是否支持ES版本选择?

2 个答案:

答案 0 :(得分:3)

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

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

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

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

答案 1 :(得分:3)

JS引擎不再针对规范进行版本化,因为实施者没有实现规范的所有功能,并且所有供应商实现的功能集当然不是彼此一致的。这是一个短暂的梦想。

为了在ES3上进行演示,您需要运行IE6 - 8。 ...它有自己的问题,因为IE有怪癖,这使得这很难,但似乎可行。