可以在节点中设置ECMAScript版本吗?

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

node --v8-options 

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

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

是否可以强制Node使用比5th版更早的ECMAScript版本? 目前使用V8引擎支持ES版本select吗?

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

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

一般来说,在EcmaScript的新版本中没有任何突破的变化,即使是在ES5中,当他们决定尝试和清理一下这个语言时,他们决定添加use strict ,以免破坏旧代码中的任何东西跑在ES3。

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

JS引擎不再符合规范的版本,因为实现者没有实现一个规范的所有特性,而且所有厂商实现的特性集合都不一致。 这是一个短暂的梦想。

为了在ES3上演示,你需要运行IE6 – 8.这有其自身的问题,因为IE有一些让人难以接受,但可行的做法。