JavaScript language resources
ECMAScript is the scripting language that forms the basis of JavaScript. ECMAScript standardized by the ECMA International standards organization in the ECMA-262 and ECMA-402 specifications. The following ECMAScript standards have been approved or are being worked on:
Name | Links | Release date | Description |
---|---|---|---|
Current editions | |||
ECMA-262 11th Edition | 2020 | ECMAScript 2020 Language Specification | |
ECMA-262 10th Edition | 2019 | ECMAScript 2019 Language Specification | |
ECMA-262 9th Edition | 2018 | ECMAScript 2018 Language Specification | |
ECMA-402 5th Edition | Working draft, repository | 2018 | ECMAScript 2018 Internationalization API Specification |
Obsolete/historical editions | |||
ECMA-262 | June 1997 | ECMAScript: A general purpose, cross-platform programming language. This was the first version of the ECMAScript standard. | |
ECMA-262 2nd Edition | August 1998 | ECMAScript Language Specification. This is the second revision of the ECMAScript standard; also ISO standard 16262. | |
ECMA-262 3rd Edition | December 1999 |
ECMAScript Language Specification. This is the third revision of the
ECMAScript standard; corresponds to JavaScript 1.5. See also the errata |
|
ECMA-262 5th Edition | December 2009 |
ECMAScript Language Specification. This is the fifth revision of the
ECMAScript standard. See also the ES5 errata and ECMAScript 5 support in Mozilla |
|
ECMA-262 5.1 Edition | PDF, HTML | June 2011 |
This version is fully aligned with the third edition of the
international standard
ISO/IEC 16262:2011. It includes ES5 errata fixes, no new features. |
ECMA-402 1st Edition | PDF, HTML | December 2012 | ECMAScript Internationalization API Specification |
ECMA-262 6th Edition | PDF, HTML | June 2015 | ECMAScript 2015 Language Specification |
ECMA-402 2nd Edition | June 2015 | ECMAScript 2015 Internationalization API Specification | |
ECMA-262 7th Edition | HTML | June 2016 | ECMAScript 2016 Language Specification |
ECMA-402 3rd Edition | HTML | June 2016 | ECMAScript 2016 Internationalization API Specification |
ECMA-262 8th Edition | HTML | June 2017 | ECMAScript 2017 Language Specification |
ECMA-402 4th Edition | HTML | June 2017 | ECMAScript 2017 Internationalization API Specification |
ES.Next is a dynamic name that refers to whatever the next version is at the time of writing. ES.Next features are more correctly called proposals, because, by definition, the specification has not been finalized yet.
See Wikipedia ECMAScript entry for more information on ECMAScript history.
Related resources
There are a variety of ways you can participate in or just track current work on the ECMAScript Language Specification and the ECMAScript Internationalization API Specification and related resources:
Resource | Description |
---|---|
https://github.com/tc39/ecma262 | ECMAScript Language Specification repo |
https://github.com/tc39/ecma402 | ECMAScript Internationalization API Specification repo |
https://github.com/tc39/proposals | ECMAScript proposals repo |
https://github.com/tc39/test262 | ECMAScript conformance test suite repo |
https://es.discourse.group/ | ECMAScript spec discussion; current mailing list |
https://esdiscuss.org/ | ECMAScript spec discussion; historical mailing-list archives (until March 2021) |