javaScript的版本发布流程

简介: javaScript的版本发布流程

1. 前言

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

2.  TC39

  1. 技术委员会39 (Technical Committee 39 - TC39)
  2. TC39ECMA技术委员为39)是推动JavaScript发展的委员会。 它的成员是都是企业(主要是浏览器厂商)。TC39会 定期的开会 , 会议的主要成员时是成员公司的代表,以及受邀请的专家。 你可以参考网络上的一个有关TC39会议的 会议纪要 来了解TC39是如何工作。
  3. 通常我们用“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的贡献者
  3. 条件:文档必须要在TC39会议上进行审核,然后将会被添加 阶段0的建议页面中

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

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

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

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

6.





7.





8.





9.





10.





参考资料

英文参考


初心

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


相关文章
|
18天前
|
JavaScript 前端开发 算法
设计一个简单的JavaScript版“俄罗斯方块”游戏的基本逻辑流程。
```md 设计JavaScript版俄罗斯方块游戏涉及初始化环境、创建游戏容器、管理变量、加载音效。游戏循环中生成方块、键盘控制移动与旋转、碰撞锁定、行消除及分数更新。当游戏区域填满时结束游戏,显示结束画面。还包括暂停、重置等辅助功能。伪代码示例展示了核心逻辑,实际实现需考虑更多细节和用户体验增强。 ```
38 3
|
18天前
|
Web App开发 JavaScript 前端开发
Node.js 的事件循环原理、工作流程
Node.js 的事件循环原理、工作流程
59 0
|
18天前
|
JavaScript 前端开发 开发者
从0开始学习JavaScript--JavaScript 流程控制
JavaScript中的流程控制结构是编写结构化、可读性强的代码的关键。本文将深入研究JavaScript中的流程控制,包括条件语句、循环结构、跳转语句等,并通过丰富的示例代码来更全面地了解和运用这些概念。
|
18天前
|
XML 存储 JSON
CocosCreator 面试题(十五)Cocos Creator如何内置protobuf JS版本?
CocosCreator 面试题(十五)Cocos Creator如何内置protobuf JS版本?
|
4天前
|
JavaScript Java 测试技术
基于springboot+vue.js的工作流程管理系统附带文章和源代码设计说明文档ppt
基于springboot+vue.js的工作流程管理系统附带文章和源代码设计说明文档ppt
7 0
|
18天前
|
JSON JavaScript 前端开发
js的版本
【5月更文挑战第7天】js的版本
13 1
|
18天前
|
JSON JavaScript 前端开发
深入探讨javascript的流程控制与分支结构,以及js的函数
深入探讨javascript的流程控制与分支结构,以及js的函数
|
18天前
|
JavaScript 前端开发 Linux
|
18天前
|
JavaScript 前端开发 Web App开发
JavaScript基础语法(codewhy版本)(一)
JavaScript基础语法(codewhy版本)
95 1
JavaScript基础语法(codewhy版本)(一)
|
18天前
|
JavaScript 前端开发 Java
JavaScript高级笔记-coderwhy版本(六)
JavaScript高级笔记-coderwhy版本
77 0