[ECMAScript] TC39 process

ECMAScript是由ECMA-262标准化的脚本语言的名称。
JavaScript和JScript与ECMAScript相容,但包含超出ECMAScript的功能。

从ES5 2009-ES6 2015经历了6年,语言的变化比较大。
为了避免剧烈的变动,从ES7 2016开始,版本发布会变得更加频繁,每次的变动也更小。
每年会发布一个新版本,其中包含所有已经完成的特性。


1. TC39

TC39(Technical Committee 39)是一个推动JavaScript发展的委员会。
它的成员由各个主流浏览器厂商的代表构成。
会议的每一项决议必须大部分人赞同,并且没有人强烈反对才可以通过。
因为,对成员来说,同意就意味着有责任去实现它。

2. Stage

每一项新特性,要最终纳入ECMAScript规范中,TC39拟定了一个处理过程,称为TC39 process。
其中共包含5个阶段,Stage 0 ~ Stage 4。

Stage 0: strawman
一种推进ECMAScript发展的自由形式,任何TC39成员,或者注册为TC39贡献者的会员,都可以提交。

Stage 1: proposal
该阶段产生一个正式的提案。
(1)确定一个带头人来负责该提案,带头人或者联合带头人必须是TC39的成员。
(2)描述清楚要解决的问题,解决方案中必须包含例子,API以及关于相关的语义和算法。
(3)潜在问题也应该指出来,例如与其他特性的关系,实现它所面临的挑战。
(4)polyfill和demo也是必要的。

Stage 2: draft
草案是规范的第一个版本,与最终标准中包含的特性不会有太大差别。
草案之后,原则上只接受增量修改。
(1)草案中包含新增特性语法和语义的,尽可能的完善的形式说明,允许包含一些待办事项或者占位符。
(2)必须包含2个实验性的具体实现,其中一个可以是用转译器实现的,例如Babel。

Stage 3: candidate
候选阶段,获得具体实现和用户的反馈。
此后,只有在实现和使用过程中出现了重大问题才会修改。
(1)规范文档必须是完整的,评审人和ECMAScript的编辑要在规范上签字。
(2)至少要有两个符合规范的具体实现

Stage 4: finished
已经准备就绪,该特性会出现在年度发布的规范之中。
(1)通过Test 262验收测试
(2)有2个通过测试的实现,以获取使用过程中的重要实践经验。
(3)ECMAScript的编辑必须规范上的签字。


参考:
The TC39 process for ECMAScript features
Github:tc39/proposals
Standard ECMA-262

推荐阅读更多精彩内容

  • 什么是ECMAScript(来龙去脉娓娓道来)? 作者:冯天然 链接:https://zhuanlan.zhihu...
    Michael_林阅读 2,238评论 0 1
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    千机楼阅读 945评论 0 4
  • 1、病种多了 轻症35种 重症85种 2、轻症赔付豁免保费 3、住院5000元以上,100%赔付,不限病种,包括...
    茶余饭后lhj阅读 84评论 0 0
  • 这几天,很多事同时发生,雅又发了烧,都要同时处理与应对。哈哈,感觉自己与超人正在靠近。事越多,越希望自己有更平和的...
    王悦yue阅读 38评论 0 5
  • 周末闲来无事,便买了电影票带着女儿去看电影了。 《小门神》女儿和我在电影院看的第一部3D电影。 本来想着这是一部小...
    孤心漫步阅读 502评论 0 1