The Complete ECMAScript Guide
By Flavio Copes
Learn what ECMAScript is, how it relates to JavaScript, how TC39 evolves the language, and how ES edition numbers map to yearly releases.
- What is ECMAScript?
- What is TC39?
- ECMAScript versions
- Recent ECMAScript releases
- What does ES.Next mean?
ECMAScript is the language standard that defines JavaScript syntax, types, objects, and behavior.
The standard is published as ECMA-262. The current yearly snapshot is ECMAScript 2026, the 17th edition.
What is ECMAScript?
ECMAScript describes the core language. It defines features such as functions, classes, promises, arrays, modules, and regular expressions.
JavaScript is the name developers normally use for implementations of that standard.
Browser APIs such as the DOM, fetch(), and Web Storage are not part of ECMAScript. Browsers provide those APIs around the JavaScript language.
What is TC39?
TC39 is the Ecma committee responsible for evolving ECMAScript and maintaining its specification.
New features move through six proposal stages: Stage 0, 1, 2, 2.7, 3, and 4. A Stage 4 proposal is complete and ready to be included in the standard.
The official TC39 process document explains the requirements for every stage.
ECMAScript versions
Older releases were usually identified by edition number. Since ES2015, releases use their publication year.
ES6 and ES2015 are two names for the same sixth edition.
| Edition | Year-based name | Published |
|---|---|---|
| 17 | ES2026 | 2026 |
| 16 | ES2025 | 2025 |
| 15 | ES2024 | 2024 |
| 14 | ES2023 | 2023 |
| 13 | ES2022 | 2022 |
| 12 | ES2021 | 2021 |
| 11 | ES2020 | 2020 |
| 10 | ES2019 | 2019 |
| 9 | ES2018 | 2018 |
| 8 | ES2017 | 2017 |
| 7 | ES2016 | 2016 |
| 6 | ES2015, or ES6 | 2015 |
| 5.1 | ES5.1 | 2011 |
| 5 | ES5 | 2009 |
| 4 | Not published | — |
| 3 | ES3 | 1999 |
| 2 | ES2 | 1998 |
| 1 | ES1 | 1997 |
The Ecma ECMA-262 archive contains the published editions.
Recent ECMAScript releases
The yearly releases are incremental. They no longer resemble the huge jump from ES5 to ES2015.
- ES2024 added resizable and transferable ArrayBuffers,
Promise.withResolvers(), grouping methods, and the regular expressionvflag - ES2025 added iterator helpers, Set methods, JSON modules,
RegExp.escape(), andPromise.try() - ES2026 added
Array.fromAsync(),Error.isError(),Iterator.concat(),Math.sumPrecise(), base64 and hex methods forUint8Array, and new JSON capabilities
The introduction to the ECMAScript 2026 specification lists the additions in each edition.
What does ES.Next mean?
ES.Next is an informal name for the evolving version of ECMAScript that comes after the latest published snapshot.
It does not permanently mean one specific year. Its contents change as Stage 4 proposals enter the living ECMAScript specification.
Related posts about js: