一、基本概念
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,完成
   发布规范。

你了解ECMAScript吗?的更多相关文章

  1. ECMAScript 6 扫盲

    ECMAScript 6 目前基本成为业界标准,它的普及速度比 ES5 要快很多,主要原因是现代浏览器对 ES6 的支持相当迅速,尤其是 Chrome 和 Firefox 浏览器,已经支持 ES6 中 ...

  2. ECMAScript 5

    2009年12月,ECMAScript 5.02011年6月,ECMAscript 5.1版发布2015年6月,ECMAScript 6正式通过,成为国际标准ES6第一个版本 ES2015,发布于20 ...

  3. ECMAScript 6入门

    预计在2014年底,ECMAScript 6将会正式发布,他的草案在13年3月份被冻结,后续提出新特性将会移至ECMASript 7中.目前还没有哪款浏览器实现了ES6的全部内容,兼容性最强的一款要数 ...

  4. Javascript与ECMAScript

    我们经常习惯性认为Javascript就是ECMAScript,但其实不是这样的. ECMAScript是一种脚本在语法和语义上的标准. 主要包括:语法.类型.语句.关键字.保留字.操作符.对象. 它 ...

  5. ECMAScript 6 开篇准备

    1前言 该系列文章均为学习阮一峰老师<ECMAScript 6 入门>一书的学习笔记.原著:http://es6.ruanyifeng.com/ 各大浏览器的最新版本,对ES6的支持可以查 ...

  6. ECMAScript 5中属性的特性值

    这是<JavaScript高级程序设计(第三版)>第六章相关内容的总结. ECMAScript中有两种属性:数据属性和访问器属性.每种属性都有四个特性值. 数据属性的四个特性值: [[Co ...

  7. SharePoint 2013 Excel Services ECMAScript 示例之明日限行

    前言:最近遇到一个“明日限行”的功能,北京的交通啊,这个不在今天讨论范围内,暂不吐槽,想想代码开发,还要写WebPart部署,很麻烦,而且部署服务器,需要领导审批,想绕过这个麻烦事儿,就想到客户端了, ...

  8. JavaScript异步编程(1)- ECMAScript 6的Promise对象

    JavaScript的Callback机制深入人心.而ECMAScript的世界同样充斥的各种异步操作(异步IO.setTimeout等).异步和Callback的搭载很容易就衍生"回调金字 ...

  9. EcmaScript相关文档

    ecmascript5.1中文文档 ECMAScript 6入门 JavaScript 标准参考教程 ECMAScript 5.1简介 ES5中新增的Array方法详细说明 firefox社区java ...

  10. ECMAScript 6 Features 中文版

    ECMAScript 6 Features 中文版 如词不达意,欢迎提 PR & issue 采用中英混排的方式进行译制,如不解请查看对应原文 本文档将与原作者的 文档 保持同步更新,欢迎关注 ...

随机推荐

  1. Ngnix + Tomcat负载均衡架构

    一.nginx Nginx (发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.  其特点是占有内 ...

  2. 推荐系统之协同过滤的原理及C++实现

    1.引言 假如你经营着一家网店,里面卖各种商品(Items),有很多用户在你的店里面买过东西,并对买过的Items进行了评分,我们称之为历史信息,现在为了提高销售量,必须主动向用户推销产品,所以关键是 ...

  3. C++中构造函数和析构函数的调用顺序

    一般而言,析构函数调用的顺序和构造函数调用顺序相反,但是,对象的存储类别可以改变调用析构函数的顺序.举例说明: CreateAndDestroy类的定义 CreateAndDestroy类的成员函数的 ...

  4. Python算法:推导、递归和规约

    Python算法:推导.递归和规约 注:本节中我给定下面三个重要词汇的中文翻译分别是:Induction(推导).Recursion(递归)和Reduction(规约) 本节主要介绍算法设计的三个核心 ...

  5. GCC 符号表小结【转】

    转自:https://blog.csdn.net/swedenfeng/article/details/53417085 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog ...

  6. xargs -i和-I的区别【转】

    xargs与find经常结合来进行文件操作,平时删日志的时候只是习惯的去删除,比如  # find . -type f -name "*.log" | xargs rm -rf * ...

  7. HTML表格的简单使用1

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. Mac android studio 一直卡在Gradle:Build Running的解决办法

    1.找到路径/Users/michael/.gradle/wrapper/dists/gradle-4.1-all/bzyivzo6n839fup2jbap0tjew,在此文件夹下有一个gradle版 ...

  9. centos6.5环境下svn服务器和客户端配置实用详解

    一.服务器端配置 安装 # yum install -y subversion yum安装软件,不清除软件包的方法 # vim /etc/yum.conf keepcache=0 建立svn版本库数据 ...

  10. CentOS 6.5结合busybox完成自制Linux系统及远程登录和nginx安装测试

    前言    系统定制在前面的博文中我们就有谈到过了,不过那个裁减制作有简单了点,只是能让系统跑起来而,没有太多的功能,也没的用户登录入口,而这里我们将详细和深入的来谈谈Linux系统的详细定制过程和实 ...