TC39 (Technical Committee 39) 是负责制定 ECMAScript(JavaScript 的标准化规范)的委员会。 他们致力于改进和发展 JavaScript 语言,并确保其在不同平台和环境中的互操作性。
TC39 的工作流程遵循一个严格的流程,以确保所有提议的变更都经过充分的审查和讨论。这个流程被称为“阶段流程”,它将提案分为五个阶段:
-
阶段 0: Strawperson (稻草人):这是一个初始阶段,任何人都可以提交关于 JavaScript 新特性或改进的想法。在这个阶段,提案只是一个初步的概念,不需要完整的规范或实现。
-
阶段 1: Proposal (提案):在这个阶段,提案需要有更具体的描述,包括 API 设计、语法和语义。需要指定一个“champion”(拥护者)来负责推动提案的进展。 这个阶段的目标是确定问题和解决方案的大致方向。
-
阶段 2: Draft (草案):提案需要有正式的规范文本,可以使用形式化的语言描述语法和语义。 在这个阶段,还需要至少有一个实验性的实现,以验证提案的可行性。 这个阶段标志着该特性有很大可能被纳入标准。
-
阶段 3: Candidate (候选):提案的规范基本完成,并且至少有两个实现可以进行互操作性测试。 在这个阶段,开发者可以开始试用该特性并提供反馈。 需要解决所有重要的跨浏览器兼容性问题。
-
阶段 4: Finished (完成):提案已经准备好被纳入 ECMAScript 标准的下一个版本。 在这个阶段,规范已经定稿,并且有多个符合规范的实现。
除了这些阶段,TC39 还使用一些其他的术语:
- Champion (拥护者): 负责推动提案在各个阶段的进展。
- Reviewer (审查者): TC39 的成员,负责审查提案并提供反馈。
- Editor (编辑): 负责维护 ECMAScript 规范的文本。
TC39 每两个月召开一次会议,讨论和推进提案的进展。 会议记录和提案的详细信息都可以在 TC39 的官方网站和 GitHub 仓库上找到。 公众可以通过这些渠道了解 JavaScript 的未来发展方向,并参与到讨论中。
总而言之,TC39 的流程旨在确保 JavaScript 的发展是公开、透明和经过深思熟虑的。 通过阶段流程和社区参与,TC39 努力使 JavaScript 成为一门强大、现代且不断发展的编程语言。