你了解ECMAScript吗?
一、基本概念
ECMA,European Computer Manufacturers Association,欧洲计算机制造协会。
TC39,Technical Committee 39,ECMA的第39号技术专家委员会,负责制订ECMAScript,成员由Microsoft、Mozilla、Google等各个主流浏览器厂商的代表组成。
ECMAScript正式名称为ECMA-262,是由TC39制定的标准化脚本语言。
二、ECMAScript近几年的发展历程
2009年12月,ECMAScript 5.0发布,简称ES5。
2015年6月17日,ECMAScript 6发布,即ECMAScript 2015,简称ES6。
2016年,ECMAScript 7发布,即ECMAScript 2016,简称ES7。
2017年,ECMAScript 8发布,即ECMAScript 2017,简称ES8。
为什么ES5升级ES6经历了6年?具体看这篇文章。
这里插播一个问题,TC39 Process是伴随着ES6一起提出来的,还是之前就有?按照逻辑推理,我猜是ES6的附属品,他们一起出生的,否则之前就用TC39 Process了,也不会出现ES5升级ES6拖很久的情况。TC39 Process是为了解决ES升级发新特性拖很久的问题,ES6后最好每年都发一版。哈哈,TC39的成员们嫌麻烦,就想点捷径,尽快发版。tc39处理过程这种做法,会不会让你想到坐火车这种场景?先上车,后补票。比如浏览器还没支持某stage的特性时,先用babel转换使用,发版慢也不影响使用。这无形之中是一种异步的行为啊,不用等到发版后才能用。没有TC39 Process之前,es发版属于一种同步行为,要等所有特性都好了,才发版,严重阻塞了使用。
三、ECMAScript新特性的处理过程,TC39 Process
TC39制订ECMAScript时,每个es特性纳入规范前,都要经历5个阶段,Stage 0 ~ Stage 4。
Stage 0: strawman,稻草人
只是一个想法idea。
Stage 1: proposal,提议
描述问题,并提供解决方案,比如demo,api,语义,算法。
Stage 2: draft,草案
实验性的具体实现,比如用babel。
Stage 3: candidate,候选
符合规范的具体实现。
Stage 4: finished,完成
发布规范。