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

PDF, HTML, Working draft, repository

2020 ECMAScript 2020 Language Specification
ECMA-262 10th Edition

PDF, HTMLWorking draft, repository

2019 ECMAScript 2019 Language Specification
ECMA-262 9th Edition

PDF, HTML
Working draft, repository

2018 ECMAScript 2018 Language Specification
ECMA-402 5th Edition Working draft, repository 2018 ECMAScript 2018 Internationalization API Specification
Obsolete/historical editions
ECMA-262 PDF June 1997 ECMAScript: A general purpose, cross-platform programming language. This was the first version of the ECMAScript standard.
ECMA-262 2nd Edition PDF August 1998 ECMAScript Language Specification. This is the second revision of the ECMAScript standard; also ISO standard 16262.
ECMA-262 3rd Edition PDF 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 PDF 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 PDF 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.

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)