返回介绍

关于 ECMASCRIPT 发展史和现状

发布于 2025-01-23 23:27:38 字数 2211 浏览 0 评论 0 收藏 0

每当您阅读 JavaScript 相关内容时,您将不可避免地看到以下其中一些术语:

  • ES3
  • ES5
  • ES6
  • ES7
  • ES8
  • ES2015
  • ES2016
  • ES2017
  • ECMAScript 2017
  • ECMAScript 2016
  • ECMAScript 2015

他们的意思是什么呢?

它们都指的是一个名为 ECMAScript 的标准。

ECMAScript 是 JavaScript 实现所基于的标准,它通常缩写为 ES 。

除 JavaScript 外,其他语言实现(ed)ECMAScript,包括:

  • ActionScript (Flash 脚本语言),自 Flash 宣布将于 2020 年正式停止维护以来,它的人气正在下降。
  • JScript(微软脚本语言),因为当时只有 Netscape 支持 JavaScript 并且浏览器大战达到顶峰,微软必须为 Internet Explorer 构建自己的脚本语言。

但是,当然,JavaScript 是 最流行 和广泛使用的 ES 实现。

为何这个奇怪的名字? Ecma International 是瑞士标准协会,负责制定国际标准。

当 JavaScript 被创建时,它由 Netscape 和 Sun Microsystems 呈给 Ecma ,他们给它命名为 ECMA-262 ,别名 ECMAScript

根据 维基百科的说法Netscape 和 Sun Microsystems (Java 的制造商) 发布的这篇新闻稿 可能会帮助你确定名字的选择,其中可能包括微软在委员会中的法律和品牌问题。

在 IE9 之后,微软停止在浏览器中将其 ES 支持称为 JScript ,并开始将其称为 JavaScript (至少,我再也找不到对 JScript 的引用了)。

因此,截至 201x,支持 ECMAScript 规范的唯一流行语言是 JavaScript 。

当前的 ECMAScript 版本

当前的 ECMAScript 版本是 ES2017,也称为 ES8 。它于 2017 年 6 月发布。

下一个版本何时推出?

从历史上看,JavaScript 新版本(ES2018)在今年夏季已经标准化,因此我们可以预期为 ECMAScript 2019( ES2019 或 ES10 )将于 2019 年夏季发布,但这只是猜测。

关于 TC39

TC39 是 JavaScript 发展委员会。

TC39 的成员是涉及 JavaScript 和浏览器供应商的公司,包括 Mozilla,Google,Facebook,Apple,Microsoft,Intel,PayPal,SalesForce 等。

每个标准版本提案都必须经过几个阶段, 这里将对此进行解释 。

ES 版本

我发现令人费解的是,为什么有时 ES 版本会以版本编号引用,有时却按年份引用。

在 ES2015 之前,ECMAScript 规范通常按其版本命名。 因此,ES5 是 2009 年更新发布的 ECMAScript 规范的官方名称。

为什么会这样呢? 在 ES2015 诞生的过程中,这个名字从 ES6 变成了 ES2015 ,原因是由于这个过程比较晚,人们仍然把它习惯性的称为 ES6 ,社区并不是忘记了 ES2015 版本的命名 —— 只不过大家仍然在按照版本号来称呼 ES 的版本。

这个表应该清楚一点:

ECMAScript 对应的版本号及发布年月

ES.Next 始终指示下一版本 JavaScript 的名称。

在撰写本文时,ES9 已经发布,ES.Next 是 ES10 。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文