当ECMAScript的新版本发布时,JavaScript是否会继承这些更改
When new versions of ECMAScript are released, does JavaScript inherit any of those changes?
我最近读到了关于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/
- 如何检查DOM节点是否继承自构造函数
- JavaScript中的原型继承是否演示了类型多态性
- Ember RESTAdapter 命名空间是否可继承
- 在Javascript中使用寄生继承,是否可以实现内省实例方法
- 这种嵌套命名空间继承模式是否得到了很好的实现
- 是否需要在经典继承中更改子类的“原型.构造函数”
- 对于 JavaScript 的继承,引用或复制父级的原型是否更好
- 是否可以扩展已经从另一个类继承的类
- 是否可以从javascript函数对象继承
- 如何确定对象特性是否已直接指定或继承
- 当ECMAScript的新版本发布时,JavaScript是否会继承这些更改
- 在js中检查CSS color属性是否接受'继承'价值
- 检查类构造函数是否继承了另一个类
- 确定是否从继承类调用super()
- 当子类继承并挂载父类时,父类是否运行生命周期方法?
- refs是否在extjs中被重写或继承
- 是否可以确定使用object创建的对象.create继承了JavaScript中的Array
- 是否有从javascript Node接口继承的方法
- 是否有一个(polyfill)代码重置所有继承的CSS属性上的给定元素
- Square是否正确地继承了Rectangle ?