JavaScript 的历史和进化

JavaScript 的发明

1995 年 5 月,Brendan Eich 花了 10 天时间为 Netscape 的网景浏览器网创造了 JavaScript。

JavaScript 名称的变化

  • 最初它的代号是 Mocha。
  • 在 1995 年 9 月的网景浏览器 2.0 beta 版本中,它被称为 LiveScript。
  • 在 1995 年 12 月的网景浏览器 2.0 beta 3 版本中,最终被称为 JavaScript。

JavaScript 的标准

JavaScript 有两个标准:

  • ECMA-262: 基本标准,由 Ecma 国际制定。
  • ISO/IEC 16262: 第二个标准, 是由国际标准化组织(ISO)和国际电工委员会(IEC)制定。

为什么不用 JavaScript 而是 ECMAScript?

因为 Sun (现在是 Oracle)拥有 JavaScript 的商标。

Ecma 国际 (Ecma International) 组织最初的名称是 ECMA (欧洲计算机制造商协会的缩写)。该组织后来更名为 Ecma 国际组织,因为该组织的活动已经扩展到欧洲以外的全球。

原则上,JavaScript 和 ECMAScript 的意思是一样的。

ECMAScript 的版本

  • ECMAScript 1 (1997 年 6 月): 第一个版本。
  • ECMAScript 2 (1998 年 6 月): 小更新,让 ECMA-262 和 ISO 标准保持更新。
  • ECMAScript 3 (1999 年 12 月): 添加了许多核心特性,正则表达式,字符串处理,新的控制语句 (do-while,switch),try/catch 异常处理…
  • ECMAScript 4 (2008 年 7 月被废弃): 本来是一个大的升级版本 (包括静态类型、模块、名称空间等等),但是最终过于雄心勃勃,让大家产生了分歧。
  • ECMAScript 5 (2009 年 12 月): 一些小的更新,一些标准库特性和严格模式。
  • ECMAScript 5.1 (2011 年 6 月): 小更新,让 ECMA-262 和 ISO 标准保持更新。
  • ECMAScript 6 (2015 年 6 月): 实现 ECMAScript 4 承诺的许多承诺的大更新。这个版本的正式名称:ECMAScript 2015 是第一个以年份命名的版本。
  • ECMAScript 2016 (2016 年 6 月)
  • ECMAScript 2017 (2017 年 6 月)
  • 后续的 ECMAScript versions (如 ES2018 等) 都会在 6 月发布。

TC39: Ecma 技术委员会

TC39 是一个研究 JavaScript 的委员会。是由 Adobe,Apple,Facebook,Google,Microsoft,Mozilla,Opera,Twitter 和其他公司组成的。

TC39 每两个月召开一次会议,由会员指定的代表和邀请的专家参加。会议记录会记录在 GitHub Repo 中。

TC39 流程

  1. Stage0 Strawman
  2. stage1 Proposal
  3. Stage2 Draft
  4. Stage3 Candidate
  5. stage4 Finished

提案: https://github.com/tc39/proposals