Brendan Eich 布兰登·艾克 | |
|---|---|
![]() Brendan Eich, official Mozilla Foundation photograph, August 21, 2012 | |
| Born | 4 July 1961 (age 61) |
| Alma mater | University of Illinois at Urbana-Champaign 伊利诺大学香槟分校Santa Clara University 圣塔克拉拉大學 |
JavaScript is one of the three essential developing languages in front-end development 前端开发, developed by Brendan Eich in only ten days 仅十日 in 1995, among which the other two is HTML, CSS. Due to the simple prototype, JavaScript cannot do much more in the first specification, until a huge enhancement during over these two decades 二十余年. To compare three languages:
| Languages | Description |
|---|---|
| HTML | To specify the content of web pages. 页面内容 |
| CSS | To specify the presentation of web pages. 页面展示 |
| JavaScript | To specify the behaviour of web pages. 页面行为 |
To ensure the interoperability of web pages across different browsers, JavaScript has been standardized by Ecma Internation ECMA 国际 in a document named ECMA-262 since 1997. That's why we always say ES3, ES5, ES6, etc. A standard specification helps eliminate the differences between different browsers, especially IEs introduced by Microsoft. There is a web named MDN, created by another significant organization named Mozilla, which has collected all these characteristics, including Web APIs, JavaScript Standard APIs, etc. (Web APIs mainly specify the interfaces of browsers, which has not been maintained under ECMA, but Mozilla Foundation)
| Edition | Date published | Name | Changes from prior edition | Editor |
|---|---|---|---|---|
| 1 | June 1997 | First edition | Guy L. Steele Jr. | |
| 2 | June 1998 | Editorial changes to keep the specification fully aligned with ISO/IEC 16262 international standard | Mike Cowlishaw | |
| 3 | December 1999 | Added regular expressions 正则表达式, better string handling, new control statements 构造表达式, try/catch exception handling 异常处理, tighter definition of errors, formatting for numeric output, and other enhancements | Mike Cowlishaw | |
4 废弃 | Abandoned (last draft 30 June 2003) | Fourth Edition was abandoned, due to political differences concerning language complexity. Many features proposed for the Fourth Edition have been completely dropped; some were incorporated into the sixth edition. | ||
| 5 | December 2009 | Adds "strict mode", a subset intended to provide more thorough error checking and avoid error-prone constructs. Clarifies many ambiguities in the 3rd edition specification, and accommodates behavior of real-world implementations that differed consistently from that specification. Adds some new features, such as getters and setters, library support for JSON, and more complete reflection on object properties. 基础函数库 | Pratap Lakshman, Allen Wirfs-Brock | |
| 5.1 | June 2011 | This edition 5.1 of the ECMAScript standard is fully aligned with the third edition of the international standard ISO/IEC 16262:2011. | Pratap Lakshman, Allen Wirfs-Brock | |
| 6 | June 2015 | ECMAScript 2015 (ES2015) | See 6th Edition – ECMAScript 2015 | Allen Wirfs-Brock |
| 7 | June 2016 | ECMAScript 2016 (ES2016) | See 7th Edition – ECMAScript 2016 | Brian Terlson |
| 8 | June 2017 | ECMAScript 2017 (ES2017) | See 8th Edition – ECMAScript 2017 | Brian Terlson |
| 9 | June 2018 | ECMAScript 2018 (ES2018) | See 9th Edition – ECMAScript 2018 | Brian Terlson |
| 10 | June 2019 | ECMAScript 2019 (ES2019) | See 10th Edition – ECMAScript 2019 | Brian Terlson, Bradley Farias, Jordan Harband |
| 11 | June 2020 | ECMAScript 2020 (ES2020) | See 11th Edition – ECMAScript 2020 | Jordan Harband, Kevin Smith |
| 12 | June 2021 | ECMAScript 2021 (ES2021) | See 12th Edition – ECMAScript 2021 | Jordan Harband, Shu-yu Guo, Michael Ficarra, Kevin Gibbons |
| 13 | June 2022 | ECMAScript 2022 (ES2022) | See 13th Edition – ECMAScript 2022 | Shu-yu Guo, Michael Ficarra, Kevin Gibbons |