Javascript 是否可以在节点中设置ECMAScript版本?

Javascript 是否可以在节点中设置ECMAScript版本?,javascript,node.js,v8,Javascript,Node.js,V8,我发现该节点使用Chrome的V8 JavaScript引擎。这里有一些关于ES6支持的信息,以及。使用Node时,甚至还有一个V8选项开关: node --v8-options 但是这些选项似乎都不允许选择ECMAScript版本 此外,我发现几年前Node支持ES3,但后来随着V8的发展,它切换到了ES5 是否可以强制节点使用第5个以上版本的ECMAScript?当前使用的V8引擎是否支持ES版本选择?所有版本的EcmaScript都与以前的版本向后兼容 ES3功能在ES5中工作,ES5功

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

node --v8-options
但是这些选项似乎都不允许选择ECMAScript版本

此外,我发现几年前Node支持ES3,但后来随着V8的发展,它切换到了ES5


是否可以强制节点使用第5个以上版本的ECMAScript?当前使用的V8引擎是否支持ES版本选择?

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

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

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


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

JS引擎不再根据规范进行版本控制,因为实现者没有实现规范的所有功能,而且所有供应商实现的功能集肯定不一致。这是一个短暂的梦想

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

的确如此,但我想运行ES3来试验旧版本。特别是我想在一个现场演示上展示TypeScript可以在ES3上运行(目标是“ES3”、“es5”、“es6”、“es2015”),因此即使在非常旧的浏览器上,我们也可以获得现代功能。我还想看看TS编译器是否会正确修改ES5中引入的Object.create()等操作以在ES3中运行。然后我认为您唯一的选择是尝试找到一个足够旧的引擎,它只支持ES3,而不是Node,您必须回到Node发布前的几年,回到Netscape Navigator 1.0和1995或大约在那个时候。@Adeno,JS中的
republicate属性名
怎么样?在ES5的严格模式中,它们被视为语法错误。但在ES2015中,他们消除了由于
计算属性名称可能发生冲突而导致的错误。那么,如果我想启用该语法错误呢?