Skip to content
FLAVIO COPES
flaviocopes.com

The Complete ECMAScript Guide

By

Learn what ECMAScript is, how it relates to JavaScript, how TC39 evolves the language, and how ES edition numbers map to yearly releases.

~~~

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.

EditionYear-based namePublished
17ES20262026
16ES20252025
15ES20242024
14ES20232023
13ES20222022
12ES20212021
11ES20202020
10ES20192019
9ES20182018
8ES20172017
7ES20162016
6ES2015, or ES62015
5.1ES5.12011
5ES52009
4Not published
3ES31999
2ES21998
1ES11997

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.

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: