1.2 ECMAScript提案流程
ECMAScript规范是由TC39组织进行维护的。TC39全称是Technical Committee Number 39,由JavaScript实现厂商、研究人员、开发者等参与,来修订ECMAScript规范。对于一个新的JavaScript特性从提案到正式加入ECMAScript规范需要经过5个流程,分别是:
(1)Stage0,strawperson(稻草人),此阶段接收任何针对当前规范的所有提案,但是必须由TC39成员或者已注册的TC39贡献者提出。
(2)Stage1,proposal(提案),此阶段将由代号为champion的人士推进该提案,也必须是TC39相关成员。Stage1的提案需简要描述该提案所要解决的问题、解决方案,并提供示例、API、关键算法、实现难度分析,以及创建公开的代码仓库。进入此阶段的提案表示TC39组织将初步评估该提案的可行性。
(3)Stage2,draft(草稿),进入此阶段的提案将会编写第1版规范草稿,使用ECMAScript正式语法,且该提案有很大可能性会加入ECMAScript规范中,此时关于提案的修改将只限于增量更新,不会再有重大变化,并且针对提案中的新特性,开始进行试验性的实现。
(4)Stage3,candidate(候选),进入此阶段的提案基本属于完成状态,所有规范文档均已编写完成并完善,且相关的审核人员和编辑已经完成对规范文档的审核。提案中的特性将根据用户和实现者的反馈来做调整,除非是重大问题,一般不会再改动相关规范。
(5)Stage4,finished(完成),完成阶段的提案将最终加入ECMAScript规范中,其中的特性也通过了相关测试。
针对ECMAScript的提案都会经过这几个阶段,只有到了Stage4才能基本确定该提案会最终成为正式的规范,不过大部分Stage2阶段的提案会进入Stage4,但是仍有部分提案会被舍弃,所以不可太过依赖Stage4阶段以前提案中的新特性。ECMAScript规范的更新是实时的,但是每年会在统一时间里正式批准Stage4阶段的提案,并发布一个新的ECMAScript版本。