你了解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,完成
发布规范。
你了解ECMAScript吗?的更多相关文章
- ECMAScript 6 扫盲
ECMAScript 6 目前基本成为业界标准,它的普及速度比 ES5 要快很多,主要原因是现代浏览器对 ES6 的支持相当迅速,尤其是 Chrome 和 Firefox 浏览器,已经支持 ES6 中 ...
- ECMAScript 5
2009年12月,ECMAScript 5.02011年6月,ECMAscript 5.1版发布2015年6月,ECMAScript 6正式通过,成为国际标准ES6第一个版本 ES2015,发布于20 ...
- ECMAScript 6入门
预计在2014年底,ECMAScript 6将会正式发布,他的草案在13年3月份被冻结,后续提出新特性将会移至ECMASript 7中.目前还没有哪款浏览器实现了ES6的全部内容,兼容性最强的一款要数 ...
- Javascript与ECMAScript
我们经常习惯性认为Javascript就是ECMAScript,但其实不是这样的. ECMAScript是一种脚本在语法和语义上的标准. 主要包括:语法.类型.语句.关键字.保留字.操作符.对象. 它 ...
- ECMAScript 6 开篇准备
1前言 该系列文章均为学习阮一峰老师<ECMAScript 6 入门>一书的学习笔记.原著:http://es6.ruanyifeng.com/ 各大浏览器的最新版本,对ES6的支持可以查 ...
- ECMAScript 5中属性的特性值
这是<JavaScript高级程序设计(第三版)>第六章相关内容的总结. ECMAScript中有两种属性:数据属性和访问器属性.每种属性都有四个特性值. 数据属性的四个特性值: [[Co ...
- SharePoint 2013 Excel Services ECMAScript 示例之明日限行
前言:最近遇到一个“明日限行”的功能,北京的交通啊,这个不在今天讨论范围内,暂不吐槽,想想代码开发,还要写WebPart部署,很麻烦,而且部署服务器,需要领导审批,想绕过这个麻烦事儿,就想到客户端了, ...
- JavaScript异步编程(1)- ECMAScript 6的Promise对象
JavaScript的Callback机制深入人心.而ECMAScript的世界同样充斥的各种异步操作(异步IO.setTimeout等).异步和Callback的搭载很容易就衍生"回调金字 ...
- EcmaScript相关文档
ecmascript5.1中文文档 ECMAScript 6入门 JavaScript 标准参考教程 ECMAScript 5.1简介 ES5中新增的Array方法详细说明 firefox社区java ...
- ECMAScript 6 Features 中文版
ECMAScript 6 Features 中文版 如词不达意,欢迎提 PR & issue 采用中英混排的方式进行译制,如不解请查看对应原文 本文档将与原作者的 文档 保持同步更新,欢迎关注 ...
随机推荐
- 【逆向知识】VS程序反汇编找main函数
工具:OllyICE 调试快捷键说明: F2键:设置断点,只要在光标定位的位置 F4键:程序运行到光标处 F7键:单步步入.功能同单步步过(F8)类似,区别是遇到 CALL 等子程序时会进入其中,进入 ...
- Zookeeper简介与集群搭建【转】
Zookeeper简介 Zookeeper是一个高效的分布式协调服务,可以提供配置信息管理.命名.分布式同步.集群管理.数据库切换等服务.它不适合用来存储大量信息,可以用来存储一些配置.发布与订阅等少 ...
- 配置samba文件服务器
1.打开"终端窗口",输入"sudo apt-get update"-->回车-->"输入当前登录用户的管理员密码"--> ...
- Linux中 Lua 访问Sql Server的配置方法
一.背景说明: 通过lua脚本实现对SQL Server数据库的操作. 二.具体设定: 安装流程图:如果是使用Lua连接SQL Server,从上到下则需要安装lua -> luaSQL-ODB ...
- convertToNodeSpace和convertToWorldSpace ---实际应用
游戏中经常会用到一些变换: 游戏中武器和角色在一个layer上,为了效率,会考虑将bullet, effect和 PhysicsParticle分别放到不用的层上,对应的层上使用batchnode来提 ...
- Python-JS中的事件详解
目录 fdf!! fefd 一.JS中的事件二.JS中的事件分类: 1.事件初级: 2.事件参数 Event 3.鼠标事件 4.键盘事件 *** 5.表单事件 *** 6.文档事件 * 7.图片事件 ...
- PYTHON-网络通信 TCP
网络编程: 学习网络编程 为什么?目的: 服务端特点: 网络通讯(通信) 什么是网络通讯? 为什么?目的:网络建立的目的是为数据交互(通信) 如何实现通讯(通信)? 互联网协议 互联网=物理连接介质+ ...
- Map<String,String>集合的四种遍历方式 其中有一种针对大容量的数据集合
- 【python】xsspider零碎知识点
1.提取url信息 urlparse() from urlparse import urlparse url = "http://scrapy-chs.readthedocs.io/zh_C ...
- laravel 接口跨域
最方便的方法,新建一个middleWare,把这个middleware加入到全局中间件,所有的请求,都会经过这个中间件的过滤. php artisan make:middleware CrossHtt ...