一些名词

ECMA(European Computer Manufacturers Association)是一个行业标准组织,它旗下有很多技术委员会,它所通过的标准都是 ECMA- 这样的编号,编号也会有相应的标准名称。

ECMA旗下有一个TC-39技术委员会(Technical Committee 第39号),这个技术委员会负责编号为262号的标准即ECMA-262,其标准对应的名称叫做 ECMAScript(即JavaScript在ECMA下的标准)

TC-39目前主要由开发JavaScript引擎的公司如Apple,Google,Microsoft,Mozilla,国内有阿里,字节等的相关工程师以及一些有名望的开发者组成,负责制定ECMAScript标准并推动其发展。

ECMAScript的发展历史

  • ECMAScript 1(1997 年 6 月):规范第一版
  • ECMAScript 2(1998 年 6 月):为了同步 ISO 标准,引入了一些小更新
  • ECMAScript 3(1999 年 12 月):增加了正则表达式、字符串处理、控制语句(do-while、switch)、异常处理(try-catch)等众多核心特性
  • ECMAScript 4(2008 年 7 月废除):本来是一次大规模升级(静态类型、模块、命名空间等),但跨度过大,出现了分歧,最终没能推广使用
  • ECMAScript 5(2009 年 12 月):变化不大,加了一些标准库特性和严格模式
  • ECMAScript 5.1(2011 年 6 月):又一次小更新,为了同步 ISO 标准
  • ES6(ES2015)、ES7(ES2016),…ES11(ES2020)….,从ES6开始,每年都会在6月份发布一个ECMAScript版本。

ECMAScript的标准制作流程

The TC39 categorizes proposals into the following 5 stages

  • stage0 Strawman: just an idea, possible Babel plugin
  • stage1 Proposal: this is worth working on.
  • stage2 Draft: initial spec.
  • stage3 Candidate: complete spec and initial browser implementations.
  • stage4 Finished: will be added to the next yearly release.

查看每个阶段的详细介绍说明 process document
查看TC39正在进行中的所有提案 current TC39 proposals

参考文献
https://babeljs.io/docs/en/presets