JavaScript 历史
JavaScript / ECMAScript
JavaScript 是 Brendan Eich 在 1995 年发明的。
它是为 Netscape 2 开发的,并于 1997 年成为 ECMA-262 标准。
Netscape 将 JavaScript 交给 ECMA 后,Mozilla 基金会继续为 Firefox 浏览器开发 JavaScript。 Mozilla 的最新版本是 1.8.5.(与 ES5 相同)。
Internet Explorer (IE4) 是第一个支持 ECMA-262 Edition 1 (ES1) 的浏览器。
年份 | ECMA | 浏览器 |
---|---|---|
1995 年 | JavaScript 是由 Brendan Eich 发明 | |
1996 年 | Netscape 2 与 JavaScript 1.0 一起发布 | |
1997 年 | JavaScript 成为 ECMA 标准 (ECMA-262) | |
1997 年 | ES1 | ECMAScript 1 发布 |
1997 年 | ES1 | IE 4 是第一个支持 ES1 的浏览器 |
1998 年 | ES2 | ECMAScript 2 发布 |
1998 年 | Netscape 42 与 JavaScript 1.3 一起发布 | |
1999 年 | ES2 | IE 5 是第一个支持 ES2 的浏览器 |
1999 年 | ES3 | ECMAScript 3 发布 |
2000 年 | ES3 | IE 5.5 是第一个支持 ES3 的浏览器 |
2000 年 | Netscape 62 与 JavaScript 1.5 一起发布 | |
2000 年 | Firefox 1 与 JavaScript 1.5 一起发布 | |
2008 年 | ES4 | ECMAScript 4 被放弃 |
2009 年 | ES5 | ECMAScript 5 发布 |
2011 年 | ES5 | IE 9 是第一个支持 ES5 的浏览器 * |
2011 年 | ES5 Firefox 4 与 JavaScript 1.8.5 一起发布 | |
2012 年 | ES5 | Safari 6 完全支持 ES5 |
2012 年 | ES5 | IE 10 完全支持 ES5 |
2012 年 | ES5 | Chrome 23 完全支持 ES5 |
2013 年 | ES5 | Firefox 21 完全支持 ES5 |
2013 年 | ES5 | Opera 15 完全支持 ES5 |
2014年 | ES5 | 在所有浏览器中完全支持 ES5 |
2015 年 | ES6 | ECMAScript 6 发布 |
2016 年 | ES6 | Chrome 51 完全支持 ES6 |
2016 年 | ES6 | Opera 38 完全支持 ES6 |
2016 年 | ES6 | Edge 14 完全支持 ES6 |
2016 年 | ES6 | Safari 10 完全支持 ES6 |
2015 年 | ES6 | 在 Firefox 52 中完全支持 ES6 |
2018 年 | ES6 | 在浏览器中完全支持 ES6 |
*: Internet Explorer 9 不支持 ES5 "use strict"。
ECMA 技术委员会 39
1996 年,Netscape 和 Brendan Eich 将 JavaScript 带到 ECMA 国际标准组织,并成立了一个技术委员会(TC39)来开发该语言。
ECMA-262 第 1 版于 1997 年 6 月发布。
从 ES4 到 ES6
当 TC39 委员会于 2008 年在奥斯陆聚集在一起就 ECMAScript 4 达成一致时,他们分成了两个截然不同的阵营:
- ECMAScript 3.1 Camp:
- 微软和雅虎希望从 ES3 进行增量升级。
- ECMAScript 4 Camp:
- Adobe、Mozilla、Opera 和 Google,他们想要大规模的 ES4 升级。
2008 年 8 月 13 日,Brendan Eich 写了一封电子邮件:
JavaScript 标准机构 Ecma 技术委员会 39 已经分裂了一年多,这已经不是什么秘密了,一些成员支持 ES4,这是 ECMA-262 的主要第四版,而另一些成员则支持基于现有 ECMA-262 的 ES3.1 第 3 版 (ES3) 规范。现在,我很高兴地报告,分裂结束了。
解决方案是一起工作:
- ECMAScript 4 重命名为 ES5
- ES5 应该是 ECMAScript 3 的增量升级。
- ECMAScript 4 的特性应该在以后的版本中被采用。
- TC39 应该开发一个新的主要版本,范围比 ES5 更大。
计划中的新版本 (ES6) 代号为 "Harmony"(因为它造成了分裂?)。
ES5 取得了巨大的成功。它于 2009 年发布,到 2013 年 7 月,所有主要浏览器(包括 Internet Explorer)都完全兼容:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 23 | IE10 / Edge | Firefox 21 | Safari 6 | Opera 15 |
2012 年 11 月 | 2012 年 9 月 | 2013 年 5 月 | 2012 年 7 月 | 2013 年 7 月 |
ES6 也取得了巨大的成功。它于 2015 年发布,到 2017 年 3 月,所有主要浏览器都完全兼容:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 51 | Edge 14 | Firefox 52 | Safari 10 | Opera 38 |
2016 年 5 月 | 2016 年 8 月 | 2017 年 3 月 | 2016 年 9 月 | 2016 年 6 月 |