ECMAScript 特性在TC39的过程
谁设计ECMAScript
TC39(技术委员会39)
TC39的过程
- stage0: strawman(起草)
1.该阶段的标志:
一种自由形式的方式来提交改进ECMAScript的想法。
提交的文件必须来自TC39会员或已注册为TC39撰稿人的非会员。
2. 进入该阶段的要求:
该文件必须在TC39会议上进行审核,然后添加到包含第0阶段提案的页面中。
- stage1: proposal(提案)
1.该阶段的标志:
对于设及特性的正式提案
2.进入该阶段的要求:
必须确定负责该提案的优胜者,优胜者必须是TC39的成员。
该提案解决的问题必须用散文来描述。
必须通过示例,API以及语义和算法的讨论来描述解决方案。
最后,必须确定该提案的潜在障碍,例如与其他功能的交互和实现的挑战。
并且需要提供实现,polyfills 和demo
3.进入该阶段后:
TC39宣布愿意审查,讨论并为该提案做出贡献,并接下来会对进入该阶段的提案做出大的修改。
- stage2: draft(草案)
1.该阶段的标志:
可能成为规范的第一个版本。进入该阶段的特性非常有肯能最终被包含在标准中。
2.进入该阶段的要求:
该提议进入该阶段必须另外具有该特征的语法和语义的正式描述(使用ECMAScript规范的形式语言)。
描述应尽可能完整,但可以包含待做(todos)和占位符(placeholders)。
需要对该特征进行两个实验性实现,但其中一个可以在诸如Babel之类的转换器中.
3.进入该阶段后:
进入该阶段后只会进行增量修改。
- stage3: candidate(候选)
1.该阶段的标志
提案大部分已完成,现在需要实施和用户的反馈才会进一步发展。
2.进入该阶段的要求:
规范文本必须完整。指定的审阅者(由TC39指定,而不是由胜出者指定)和ECMAScript规范编辑者必须签署规范文本。必须至少有两个符合规范的实现(默认情况下不必启用)。
3.进入该阶段后:
进入该阶段后,只应对实施及其使用引起的关键问题做出改变。
- stage4: finished(完成)
1.该阶段的标志
提案准备被包含在标准中
2.进入该阶段的要求:
通过 Test262 验收测试。两个符合规范的实施通过测试,具有实施的重要实践经验。ECMAScript规范编辑者必须在规范文本上签名。
3.进入该阶段后:
提案将很快纳入ECMAScript规范。当规范通过其年度批准并作为标准时,该提案将被批准为其中的一部分。