当ECMAScript的新版本发布时,JavaScript是否会继承这些更改

When new versions of ECMAScript are released, does JavaScript inherit any of those changes?

本文关键字:继承 是否 JavaScript ECMAScript 新版本 布时      更新时间:2023-09-26

我最近读到了关于ECMAScript 6的文章,我注意到语法开始看起来和感觉有点像Swift,而不像JavaScript。

当新版本出现时,这对JavaScript意味着什么?

ECMASCript基本上是标准过程,以及该标准过程中对语言的调用。"Javascript"是描述特定实现的更常见的用法术语,它并不描述不同的语言。因此,Firefox中的Javascript是一个特定的实现。这取决于特定实施的制定者,他们将以多近的距离和多快的速度跟踪标准的变化。

ES6功能已经出现在Firefox、Chrome、node.js、Edge等当前的Javascript实现中。目前还没有一个具备所有功能。


如果我还记得的话,"Javascript"一词最初有一些商标问题,所以当语言规范进入标准过程时,他们决定使用一个没有商标问题的名称,尽管市场上使用的名称已经是"Javascript)"。如果你还记得的话,微软最初将他们的实现称为"Jscript"。如今的名字差异并不意味着意味着不同的语言,只是用来描述它们的不同的名字。


如果你现在想在ES6中编程,你可以找到一个已经支持你想要使用的功能的Javascript实现,或者你可以得到一个像BabelJS这样的转换器,它可以将大多数ES6代码转换为在当前ES5 Javascript引擎中运行的ES5兼容代码。这里的想法是用ES6编写代码,将其编译到ES5,并在您喜欢的JS引擎中运行ES5。

作为参考,这里有一个ES6特性在许多常见JS引擎中的支持表。

ECMAScript 2015(ES6、JavaScript6等)是该语言的新版本,与名称和平台无关。

重要的是,浏览器和Node.js以自己的速度实现了新的功能和语法,所以你会发现Edge中已经集成了一些Node.js还没有的功能。

ECMAScript兼容性表将告诉您有关它的更多信息

这一切对你的代码意味着什么?没有什么

你可以毫无问题地继续编写你的"老好"JavaScript,一切都会很好。

此外,如果你想用新语法编写JS,并使用所有这些很酷的新功能,使其与旧代码兼容,你可以使用像Babel.JS.这样的转发器

ECMAScript 2015已经存在并将继续存在,因此您最好接受它,并尽快成为其中的一部分。

要从另一个(更实用的)角度回答这个问题,你可以看看

Es6蒸腾工具,如babeljs:https://babeljs.io不同平台上的Es6支持:https://kangax.github.io/compat-table/es6/