关于ECMA、ECMAScript、TC39、ES、Stage等概念的科普

2022-06-16 18:45:54 浏览数 (1)

快速通道:

  • ES6、ES7、ES8、ES9、ES10、ES11、ES12、ES13新特性大全

提到ECMA、ECMAScript、TC39、ES ,你可能对这些名词代表的概念一知半解甚至是从未了解过,不过没关系,不了解这些不会影响你对ES新特性的使用。本文只是简单的介绍下这些概念作为一次简单的科普,希望能帮你扩展下知识面。

ECMA:欧洲计算机制造协会 ,这是一个国际组织,主要负责维护各种计算机的相关标准。我们都知道JavaScript这门语言最早来自于网景(Netscape),但网景在和微软(IE)的竞争落得下风,为了避免最终Web脚本主导权落入微软手中,网景开始寻求ECMA组织的帮助,来推动JavaScript的标准化。

Ecma 国际:1994 年之后,由于 ECMA 组织的标准牵涉到很多其他国家,为了体现其国际性,更名为 Ecma 国际(Ecma International)。

ECMAScript:1996年,JavaScript正式加入了ECMA大家庭,简称 ECMAScript(或ES)。ES 是 JS 的规范,而 JS 是 ES 的一种实现方法

TC39:是ECMA为ES专门组织的技术委员会(Technical Committee),39这个数字则是因为ECMA使用数字来标记旗下的技术委员会。TC39的成员由各个主流浏览器厂商的代表构成。关于TC39的更对知识可参考:https://2ality.com/2015/11/tc39-process.html

ECMA-262:Ecma 国际的标准,都会以 Ecma-Number 命名,ECMA-262 就是 ECMA 262 号标准,具体就是指 ECMAScript 遵照的标准。1996 年 11 月,网景公司将 JavaScript 提交给 Ecma 国际进行标准化。ECMA-262 的第一个版本于 1997 年 6 月被 Ecma 国际采纳。这一标准是在不断演进的,如现在是2020年6月发布的第11版。同样的,目前最为熟知的是2015年发布的ES6。你还可以在TC39的ECMA262官网上看到ES2022的最新草案。当然,ECMA还维护着许多其他方面的标准,如:

  • ECMA-414,定义了一组ES规范套件的标准;
  • ECMA-404,定义了JSON数据交换的语法;
  • 甚至还有120mm DVD的标准:ECMA267;

从一个提案提出到最后纳入ES新特性,TC39规定有如下五步:

  1. stage0(strawman):任何TC39的成员都可以提交。
  2. stage1(proposal):进入此阶段就意味着这一提案被认为是正式的了,需要对此提案的场景与API进行详尽的描述。
  3. stage2(draft):演进到这一阶段的提案如果能最终进入到标准,那么在之后的阶段都不会有太大的变化,因为理论上只接受增量修改。
  4. state3(candidate):这一阶段的提案只有在遇到了重大问题才会修改,规范文档需要被全面的完成。
  5. state4(finished):这一阶段的提案将会被纳入到ES每年发布的规范之中,只有到这个阶段的提案才会被标记为“已完成”,并在将来进入到下一个 ES 标准里。

如果文章有啥描述的不清楚的,欢迎批评指正 补充~

参考:https://juejin.cn/post/6974330720994983950#heading-7

0 人点赞