一、基本概念
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. SpringMVC与Struts不同(五)

    springmvc与struts2不同 1.springmvc的入口是一个servlet即前端控制器,而struts2入口是一个filter过滤器. 2.springmvc是基于方法开发(一个url对 ...

  2. Potential Pythonic Pitfalls

    Potential Pythonic Pitfalls Monday, 11 May 2015 Table of Contents Not Knowing the Python Version Obs ...

  3. 为何time_before 起作用【转】

    转自:http://decimal.blog.51cto.com/1484476/410673 Title: jiffies溢出与时间先后比较编制: chinakapok@sina.com日期:200 ...

  4. Ubuntu/Debian apt-get 404 Not Found Package Repository Errors,无法找到包的错误

    最简单最常用的方法是,使用如下命令更新到新的版本: sudo apt-get dist-upgrade 但是这个方法有时候不一定能起作用,那么可以使用以下直接替换的命令: sudo sed -i -e ...

  5. C/C++:.hpp与.h区别

    原文地址:http://blog.csdn.net/f_zyj/article/details/51735416 .hpp,本质就是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件, ...

  6. eclipse 反编译

    Eclipse Class Decompiler安装此插件,可以编译源代码且调试

  7. Project Euler Problem6

    Sum square difference Problem 6 The sum of the squares of the first ten natural numbers is, 12 + 22  ...

  8. zabbix3.0.4添加对指定进程的监控

    zabbix3.0.4添加对进程的监控: 主要思路: 通过 ps -ef|grep sdk-push-1.0.0.jar |grep -v grep|wc -l 这个命令来判断进程sdk-push是否 ...

  9. jade(pug)学习和使用

    由于版权问题,现已改名pug.但无须担心,几乎没什么区别.就算依然使用jade也不会有太大影响. 慢慢迁移过渡即可   # 官网 https://pugjs.org # github https:// ...

  10. LeetCode(9):回文数

    Easy! 题目描述: 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: f ...