你了解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 采用中英混排的方式进行译制,如不解请查看对应原文 本文档将与原作者的 文档 保持同步更新,欢迎关注 ...
随机推荐
- escape、encodeURI和encodeURIComponent的区别
1.简单解释 简单来说,escape是对字符串(string)进行编码(而另外两种是对URL),作用是让它们在所有电脑上可读. 编码之后的效果是%XX或者%uXXXX这种形式. 其中 ASCII字母. ...
- 【逆向工具】IDA使用6-签名文件制作
0x1 签名文件制作的方法: 找到静态编译的程序库 使用IDA中的fair工具包,对静态库操作,生成特征库(IDA6.8 是flair68.zip) 0x2 步骤 第一步:使用pcf生成对应静态库的p ...
- GCC的符号可见性——解决多个库同名符号冲突问题
引用自:https://github.com/wwbmmm/blog/wiki/gcc_visibility 问题 最近项目遇到一些问题,场景如下 主程序依赖了两个库libA的funcA函数和libB ...
- java并发编程系列七:volatile和sinchronized底层实现原理
一.线程安全 1. 怎样让多线程下的类安全起来 无状态.加锁.让类不可变.栈封闭.安全的发布对象 2. 死锁 2.1 死锁概念及解决死锁的原则 一定发生在多个线程争夺多个资源里的情况下,发生的原因是 ...
- linux下快速安装jenkins
Linux下快速安装Jenkins 建议使用 FileZilla 工具简化以下步骤中移动.环境变量配置等步骤. 1 软件下载 l Java:jdk-7u17-linux-x64.tar.g ...
- PHP框架CodeIgniter--URL去除index.php
今天学习CodeIgniter简称CI的第一天,记录下学习心得. CI中国https://codeigniter.org.cn/user_guide/general/urls.html?highlig ...
- 织梦dedeCMS数据库结构字段说明-简略说明
dede_addonarticle 附加文章表 aid int(11) 文章编号typeid int(11) 分类栏目编号body mediumtext 文章内容dede_addonflash 附加F ...
- MFC CStdioFile
读Text文件 void CNWiReworkDlg::ReadHexFile() { using namespace std; CStdioFile file; file.Open(hexFileP ...
- centos重启报错Umounting file systems:umount:/opt:device is busy
系统重启报错: Umounting file systems:umount:/opt:device is busy 只能硬关机,回想一下最近刚安装了nod32 for linux x64的杀毒软件,开 ...
- UDP template 代码
服务端 from socket import * import json,struct client= socket(AF_INET,SOCK_STREAM) client.connect(('127 ...