我发现Node使用Chrome的V8 JavaScript引擎。有关ES6支持here和here的一些信息。使用Node时,甚至还有一个V8选项的开关:
node --v8-options
但是没有一个选项似乎允许选择ECMAScript版本。
此外here我发现几年前Node支持ES3的信息,但后来随着V8的发展,它转向了ES5。
是否可以强制Node使用早于5的ECMAScript版本?目前使用的V8引擎是否支持ES版本选择?
答案 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有怪癖,这使得这很难,但似乎可行。