第四部分:继往开来

20065 月谷歌发布 GWT(Java 到 JavaScript 的转译器)
200712 月苹果发布 JavaScript 测试套件 SunSpider
10 月谷歌 Caja 项目(安全 JavaScript)发布
20081 月 24 日Mark Miller 首次代表谷歌参加 TC39 会议
Kris Zyp 首次代表 Dojo 基金会参加 TC39 会议
2 月 21 日ES3.1 工作组双周电话会议启动
2 月 26 日工作组以浏览器特性的「四人三票」原则修订 ES3.1 目标
3 月Pratap Lakshman 担任 ES3.1 规范编辑
ES3.1 基础文档基于 ES3 规范及其勘误表而创建
编写任务分配给七位 ES3.1 工作组参与者
4 月 22 日es3.1-discuss 邮件论坛开放
Allen Wirfs-Brock 发布 Object.defineProperty 设计概述
4 月 24 日工作组讨论严格模式概念与 “use strict”; 指令
5 月 29 日 - 30 日ES3.1 规范草案在 TC39 会议上展示,并发布到 Wiki
6 月Adobe 放弃新版 ES4 项目
6 月 10 日Mark Miller 更新 ES3.1 草案,以使用结构化的伪代码
6 月 17 日支持「表达式闭包」的 JavaScript 1.8 随 Firefox 3.0 发布
7 月 4 日ES3.1 草案中用词法环境概念替代活动对象
块级 const 声明
7 月 15 日Allen Wirfs-Brock 发布《静态对象函数:使用场景与原理》
7 月 23 日 - 25 日在奥斯陆举行的 TC39 会议终止新版 ES4,TC39 聚焦 ES3.1 和「Harmony」
Harmony 讨论中涉及将类去糖化为词法闭包
8 月Ecma 公开宣布终止新版 ES4,并启动 Harmony 项目
TC39 Wiki 上建立 Harmony 稻草人页面
8 月 28 日首次 TC39 安全 ECMAScript(SES)会议
9 月 1 日ES3.1 加入对十进制小数的初始支持
9 月 2 日谷歌发布带有 V8 JavaScript 引擎的 Chrome 浏览器预览版
10 月 13 日Waldemar Horwat 在 es-discuss 上列出四种绑定「死区」的可选方案
Dave Herman 提出「Lambdas」的稻草人提案
11 月Cormac Flanagan 发布首份与类相关的 Harmony 稻草人提案
11 月 19 日 - 20 日TC39 会议上,进行 ES3.1 最终特性评审
十进制小数与 const 声明在 Harmony 中延期
11 月 21 日Wiki 稻草人页面共有 7 个条目
11 月 29 日Brendan Eich 为 Wirfs-Brock 的 Smalltalk 式「块级 Lambda」发布提案
12 月 11 日Google Chrome 1.0 发布
20091 月CommonJS 项目启动
Kris Kowal 与 Ihab Awad 向 TC39 介绍 CommonJS 模块的前身
Douglas Crockford 启动 ADsafe 项目
1 月 28 日TC39 会议上,Pratap Lakshman 演示 IE 中的微软 ES3.1 原型
3 月 19 日Internet Explorer 8 发布,加入部分 ES3.1 特性支持
3 月 24 日SES 工作组的最后一次会议
3 月 25 日 - 26 日Pratap Lakshman 辞任 ES3.1 编辑,由 Allen Wirfs-Brock 接替
ES3.1 重命名为 ES4,「ES4」名称被永久性放弃
4 月 7 日ES5 的「最终草案」发布至 TC39 Wiki
5 月Node.js 首个公开版本发布
Eric Arvidsson 首次代表谷歌参加 TC39 会议
Brendan Eich 发布「catchalls」Harmony 稻草人提案
6 月微软向 Ecma 贡献 ES5 新特性测试套件
谷歌发布开源的 Sputnik ES3 测试套件
6 月 17 日苹果 Safari 更新 Nitro JavaScript 引擎
6 月 24 日以 TraceMonkey 优化 JavaScript 性能的 Firefox 3.5 发布
7 月「Harmony 目标说明」在 TC39 Wiki 上发布
8 月Harmony 稻草人 Wiki 页面共列出 21 份提案
8 月 17 日苹果发现 ES5 对 arguments 对象的修改会破坏网站
8 月 27 日ES5 首份发行候选版发布
9 月 23 日TC39 投票决定将 ES5 提交给 Ecma GA 大会批准
10 月 28 日ECMA-262 第 5 版提交给 Ecma GA 大会供评审
12 月Jeremy Ashkenas 开始开发 CoffeeScript
Tom Van Cutsem 在 es-discuss 发布「基于代理的 catch-all 提案」
11 月 5 日美国东北大学的 Sam Tobin-Hochstadt 首次参加 TC39 会议
11 月 7 日Brendan Eich 表示 Harmony 需要二等公民的模块系统
12 月 3 日Ecma GA 大会批准《ECMA-262 第 5 版》
2010Q1Remy Shary 发明「polyfill」术语
Ben Alman 发明「IIFE」术语
Dave Herman 加入 Mozilla
Dave Herman 与 Sam Tobin-Hochstadt 开发「简单模块」设计
1 月ES5 进入 ISO 快速通道流程
阿姆斯特丹自由大学的 Tom Van Cutsen 首次参加 TC39 会议
2 月Ihab Awad 发表「Emaker 风格」模块提案
4 月Harmony 目标 Wiki 页面加入多种特性主题
5 月TC39 联合微软 ES5conform 与谷歌 Sputnik,启动 Test262 项目
Ihab Awad 建议 TC39 关注简单模块提案
9 月Alon Zakai 发布 Emscripten,可将 C 代码编译到 JavaScript
TC39 就类是否主要用于「高完整性抽象」产生不同看法
12 月Allen Wirfs-Brock 离开微软,加入 Mozilla
Harmony 稻草人 Wiki 页面共列出 66 份提案
2011全年共发布 4 份 ES6 规范草案
1 月Brendan Eich 发布《我的 Harmony 梦想》博客
3 月Wirfs-Brock 提出扩展对象字面量,以支持类式的抽象
委员会就类应当基于构造函数、原型、实例三要素达成初步共识
简化后的「简单模块」提案出炉
3 月 14 日带有 Chakra JavaScript 引擎,且完全支持 ES5 的 Internet Explorer 9 发布
3 月 22 日Firefox 4.0 与 JavaScript 1.8.5 发布,完全支持 ES5
5 月Brendan Eich 就重新启用块级 Lambda 或使用箭头函数,提出替代性提案
谷歌 Traceur 转译器项目发布
5 月 6 日Dave Herman 在 JSConf 上演示多语言的 Harmony 模块加载器
5 月 10 日Allen Wirfs-Brock、Mark Miller 和其他人就联合类提案而会面
5 月 24 日 - 26 日TC39 Harmony 进行「特性冻结」稻草人提案筛选
基于新联合类提案的 Harmony 类特性获得接受
根据会议 Wiki,共有约 45 份获得接受的 Harmony 提案
6 月《ECMA-262 第 5.1 版》与相同的《ISO/IEC 16262:2011》出版
6 月 22 日Allen Wirfs-Brock 将 ES5.1 规范复制并重命名为「第 6 版草案」
6 月 27 日Dave Herman 表示 Miller 的类过于复杂,提议使用最小化的类设计
7 月 12 日Allen Wirfs-Brock 发布首份 Harmony(ES6)规范工作草案
10 月Tom Van Cutsem 和 Mark Miller 将代理演化为直接代理
11 月 11 日Dave Herman 发布最小化类的稻草人提案
12 月Dave Herman 在 es-discuss 上提议「ES6 不需要 opt-in」
2012全年共发布 9 份 ES6 规范草案
1 月Dave Herman 提出的「One JavaScript」陈述被 TC39 采纳
3 月 19 日Russel Leggett 在 es-discuss 上号召为类找到一种「安全语法」
3 月 25 日Allen Wirfs-Brock 受 Legget 启发,发表「最大化的最小类」
3 月 28 日 - 29 日Brendan Eich 将 TC39 的工作重点放在采纳箭头函数上
5 月标准与异质对象属于在 ES6 规范中采用
TC39 同意允许基于最大化的最小类来制定规范
Yahuda Katz 和 Rick Waldron 首次代表 jQuery 基金会参加 TC39 会议
Rick Waldron 做会议纪要,开始系统化采集技术会议记录
Q3-Q4Jason Orendorff 和 Dave Herman 在 Firefox 中原型化 Harmony 模块与其加载器
9 月 27 日包含最大化最小类的 ES6 规范草案发布
10 月微软推出 TypeScript 转译器
12 月《ECMA-402 第 1 版 ECMAScript 国际化 API》发布
2013全年共发布 8 份 ES6 规范草案
TC39 主要处理已批准的提案特性与规范问题
9 月Rafael Weinstein 与 Dmitry Lomov 提出新的 TC39 研发流程
10 月《ECMA-404 JSON 数据交换格式》发布
ES6 中加入 Promise,以免其被归入 HTML 规范中
11 月Dave Herman 发布首份 Realm API 草案
2014全年共发布 9 份 ES6 规范草案
Node.js 社区批评 TC39 未采纳 CommonJS 模块设计
TC39 开始使用新的多阶段流程来开发 ES6 后的特性
1 月ES6 规范中加入模块与加载器的早期版本伪代码
4 月Douglas Crockford 最后一次参加 TC39 会议
夏季Yehuda Katz 创建 jsmodules.io 网站,向 Node.js 程序员介绍 ES6 模块
6 月浏览器开发者对于 ES6 的类语义,提出其在子类化内置构造函数时的担忧
7 月数组与生成器推导式从 ES6 规范草案中移除
9 月模块加载器从 ES6 规范草案中移除
9 月 24 日针对子类化内置构造函数问题,出现两种相互竞争的重新设计
10 月ES6 规范草案中的模块规范(不含加载器)完成
2015全年共发布 8 份 ES6 规范草案
1 月 27 日TC39 就 ES6 中的突出问题(含子类化构造器问题在内)达成最终一致
2 月Babel(又称 6to5)转译器推出
3 月TC39 批准将 ECMAScript 2015 规范转交给 Ecma GA 大会
4 月 14 日ES2015 最终草案发布至 TC39 Wiki
Q2-Q4TC39 基于新流程,就 ES2016 和其他更长期的提案开展工作
6 月 17 日《ECMA-262 第 6 版 ECMAScript 2015 语言规范》与《ECMA-402 第 2 版 ECMAScript 国际化 API》被批准为 Ecma 标准
7 月Brian Terlson 接替 Allen Wirfs-Brock 为 ECMA-262 项目编辑
20166 月 14 日《ECMA-262 第 7 版 ECMAScript 2016 语言规范》与《ECMA-402 第 3 版 ECMAScript 国际化 API》被批准为 Ecma 标准