什么是 TC39?
TC39
是技术委员会第 39 号,是 ECMAScript
规范下的 JavaScript 语言标准化的机构,负责开发 JavaScript 的委员会。
TC39 提案过程
每个 ECMAScript 的提案都将经过以下阶段,从 Stage 0
开始,从一个阶段到下一个阶段的进展必须得到 TC39
的批准。
Stage 0: strawman
提供 ECMAScript 自由演变的方案。
该阶段需要:
- 文件必须在
TC39
会议进行审查,然后将其添加到Stage 0
提案的页面中。
Stage 1: proposal
该功能的正式提案。
该阶段需要:
- 确定一个负责人来负责推动该提案。
- 描述清楚要解决的问题,解决方案中必须包含示例,API 以及关于相关的语义和算法。
- 潜在问题也应该指出来,例如与其他特性的关系,实现它所面临的挑战。
- polyfill和demo也是必要的。
TC39 通过接受第一阶段的提议,审议、讨论并对该提案作出贡献。未来,预计将对该提案进行重大修改。
Stage 2: draft
该版本是规范的第一个版本,使用正式的规范语言来精确描述语法和语义。
该阶段需要:
- 初始规范文本,涵盖了所有主要语义,语法和API,除了预期TODO,占位符。
委员会期望该功能得到发展,并最终纳入标准,并且从现在开始只能接收增量修改。
Stage 3: candidate
第3阶段的提案是候选的天。 在这个阶段,该提案大多完成,需要根据实现和用户的反馈进一步推进。
该阶段需要:
- 完成规范文本
- 指定评审员已经签署了当前的规范文本
- ECMAScript 编辑器已经签署了当前的规范文本
此后,只有在实现和使用过程中出现了重大问题提案才会被修改。
Stage 4: finished
该提案已准备好纳入正式的 ECMAScript 标准。
该阶段需要:
- 测试262验收测试(大致为语言特征的单元测试,用 JavaScript 编写)。
- 两个符合规范的稳定的实现通过验收测试
- 实现具有重要的实践经验。
- ECMAScript 的规范编辑必须在规范文本上签字。
该提案将尽快包含在 ECMAScript 规范中。当规范以年度批准为标准的时候,这个提案就被批准为一部分。