当新版本的ECMAScript发布时,JavaScript是否继承了这些变化?

时间:2015-11-08 19:02:54

标签: javascript ecmascript-6

我最近在阅读有关ECMAScript 6的文章,我注意到语法开始看起来有点像Swift,而且有点像JavaScript。

当新版本问世时,这对JavaScript意味着什么?

3 个答案:

答案 0 :(得分:3)

ECMASCript基本上就是标准流程,以及该标准流程中所使用的语言。 “Javascript”是描述特定实现的更常见的使用术语 - 它不描述不同的语言。所以Firefox中的Javascript是一个特定的实现。这取决于给定实施的制造者,他们将如何接近标准的变化。

ES6功能已经出现在Firefox,Chrome,node.js,Edge等当前的Javascript实现中......还没有所有功能。

如果记忆为我服务,“Javascript”这个词最初有一些商标问题,所以当语言规范进入标准流程时,他们决定使用一个没有商标问题的名称,即使市场上使用的名称是已经“Javascript”了。如果你还记得,微软首先称他们的实现为“Jscript”。现在的名称差异并不意味着暗示一种不同的语言,只是用来描述它们的不同名字。

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

作为参考,这里有许多常见JS引擎中的table of ES6 feature support

答案 1 :(得分:1)

ECMAScript 2015 (ES6,JavaScript 6等)是该语言的新版本,它与名称无关,并不重要。

重要的是,浏览器和Node.js按照自己的进度实现新功能和语法,因此您会发现Node.js尚未集成的Edge中已集成的某些功能。

ECMAScript compatibility table会告诉您更多相关信息。

这对您的代码意味着什么?什么都没有。

你可以继续写你的好东西" JavaScript没有问题,一切都会正常工作。

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

ECMAScript 2015 就在这里,并且要留下来,所以你最好接受它,并尽快成为其中的一部分。

答案 2 :(得分:0)

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

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