JavaScript Back

Brendan Eich 布兰登·艾克
Brendan Eich Mozilla Foundation official photo.jpg
Brendan Eich, official Mozilla Foundation photograph, August 21, 2012
Born4 July 1961 (1961-07-04) (age 61)
Alma materUniversity 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)

ECMAScript version history

EditionDate publishedNameChanges from prior editionEditor
1June 1997First editionGuy L. Steele Jr.
2June 1998Editorial changes to keep the specification fully aligned with ISO/IEC 16262 international standardMike Cowlishaw
3December 1999Added regular expressions 正则表达式, better string handling, new control statements 构造表达式, try/catch exception handling 异常处理, tighter definition of errors, formatting for numeric output, and other enhancementsMike 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.
5December 2009Adds "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.1June 2011This 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
6June 2015ECMAScript 2015 (ES2015)See 6th Edition – ECMAScript 2015Allen Wirfs-Brock
7June 2016ECMAScript 2016 (ES2016)See 7th Edition – ECMAScript 2016Brian Terlson
8June 2017ECMAScript 2017 (ES2017)See 8th Edition – ECMAScript 2017Brian Terlson
9June 2018ECMAScript 2018 (ES2018)See 9th Edition – ECMAScript 2018Brian Terlson
10June 2019ECMAScript 2019 (ES2019)See 10th Edition – ECMAScript 2019Brian Terlson, Bradley Farias, Jordan Harband
11June 2020ECMAScript 2020 (ES2020)See 11th Edition – ECMAScript 2020Jordan Harband, Kevin Smith
12June 2021ECMAScript 2021 (ES2021)See 12th Edition – ECMAScript 2021Jordan Harband, Shu-yu Guo, Michael Ficarra, Kevin Gibbons
13June 2022ECMAScript 2022 (ES2022)See 13th Edition – ECMAScript 2022Shu-yu Guo, Michael Ficarra, Kevin Gibbons