javaScript的版本发布流程

1. 前言

  1. 估计还有很多道友 搞不清楚 js 的版本发布流程
  2. 现在都ECMAScript 2022 正式发布 了, 但是大家用es6,还是不那么丝滑
  3. 这些都和JavaScript的版本发布流程有关,当然也和浏览器支持情况有关,但是现在已经不是 IE的时代了,这个问题基本可以忽略

2. TC39

  1. 技术委员会39 (Technical Committee 39 - TC39)
  2. TC39 (ECMA技术委员为39)是推动JavaScript发展的委员会。 它的成员是都是企业(主要是浏览器厂商)。TC39会 定期的开会 , 会议的主要成员时是成员公司的代表,以及受邀请的专家。 你可以参考网络上的一个有关TC39会议的 会议纪要 来了解TC39是如何工作。
  1. 通常我们用“TC39成员”这个术语来指代一个具体的人,他是由TC39成员公司所委派的会议代表。 有一点值得注意的是,TC39必须达成全员一致的协议:决策只有被所有的成员单位一致同意时才能被做出。

3. TC39 工作职责

  1. 对 ECMAScript 进行通用、跨平台、中立的标准化。包括语法、语义、支持此语言的库和补充技术。

4. TC39 工作规划

  1. 维护和更新 ECMAScript 标准;
  2. 标识、开发和维护扩展 ECMAScript 能力的库;
  3. 开发用于验证 ECMAScript 标准是否被正确实现的测试用例集;
  4. 向覆盖更广泛的 ISO/IEC JTC 1 (整个IT行业的标准委员会) 提交选中的标准;
  5. 对补充或附加的提案进行评估。

5. 标准的制定流程

1. Stage0: 意向阶段 (Strawman)
  1. 纳入提案范围的内容;
  2. 展示阶段:在该阶段可以自由的使用任意方式提交推动ECMAScript发展的想法。提议可以来自TC39成员单位,也可以是一个非成员单位, 但需要 注册成为了TC39的贡献者 。
  1. 条件:文档必须要在TC39会议上进行审核,然后将会被添加 阶段0的建议页面中 。

2. Stage1: 提议阶段 (Proposal),
  1. 征求意见阶段: 附加案例,描述方案,预见潜在的挑战;
  1. 条件:必须要指派具体的人来负责该提议。该负责人或助理负责人必须是TC39的成员。该提议所解决的问题必须通过描述性的文档进行说明
    解决方法必须有例子,API,以及对语义和算法的讨论。
    最后,存在的潜在问题也必须要得到区分,例如与其他特性之间的关联,以及实现的难度。 Implementation-wise,polyfills和demos也都是必须的。
  1. 下一步:对于阶段1的提议的是否接受,TC39表明了其愿意检查、讨论和为提议做出贡献。继续向前,将会是提议的主要变化。

3. Stage2: 草案阶段 (Draft)
  1. 标准格式描述对应的语法和语义;
  2. 将会出现标准中的第一个版本。此时,将会与出现在标准中的最终特性是差不多的。
  1. 条件:此时建议必须要附加更规范化有关特性的语法和语意的说明(使用ECMAScript标准的正式语言)。
    描述应该尽可能的完整,但也可以包含待办事项列表和占位符。
    该特性需要两个实验性的实现,
    但其中一个可以在诸如Babel这样的转译器(transpiler)中。
  1. 下一步:从该改阶段只接收渐增的变化。

4 . Stage3: 候选阶段 (Candidate)
  1. 提炼从浏览器厂商和用户收集的反馈;
    2.此时提议已经接近完成,只需要得到提议实现方的反馈,以及由用户来进一步推动。
  1. 条件:标准的文本必须是完备的。指定的审稿人(由TC39指派)和ECMAScript标准的编辑必须在该标准上签字。
    必须要至少有两个符合标准的实现(可以不指定默认实现)。
  1. 下一步:至此之后,只有对实现和使用过程中出现的重大问题进行修正

5. Stage4: 完成阶段 (Finished)
  1. 正式纳入 ECMAScript 标准。
  1. 条件:在提议进入该阶段时需要满足以下的条件
  • Test 262 验收测试(主要是用JavaScript代码编写的单元测试来验证语言特性)
  • 两个通过测试的符合规范的装运实现(shipping implementations)
  • 使用该实现的重要的实践经验
  • ECMAScript标准的编辑必须要签署该标准的文本
  1. 下一步:该提议会被尽可能快的纳入到ECMAScript标准中。当标准通过长达一年的时间获得通过后,该提议将正式作为标准的其一部分

6.


7.


8.


9.


10.


参考资料

英文参考


初心

我所有的文章都只是基于入门,初步的了解;是自己的知识体系梳理,如有错误,道友们一起沟通交流;
如果能帮助到有缘人,非常的荣幸,一切为了部落的崛起;
共勉

你可能感兴趣的:(javaScript的版本发布流程)