ECMAScript is the standard that JavaScript implements, and since 2015 it has been released on a strict yearly schedule with editions named by their year. Knowing which edition introduced a feature tells you how widely it is supported and what transpile target you need. This reference lists every edition from ES5 to ES2025 with the major features each one shipped.
How it works
The first edition most developers care about is ES5 (2009), which gave us strict mode, the functional array methods and native JSON. ES2015 (ES6) was the watershed release — block scoping, arrow functions, classes, promises, modules and the Map/Set collections all arrived at once. After ES2015, TC39 adopted a yearly cadence: each June a new edition ratifies whatever proposals have reached Stage 4, the final stage of the four-stage proposal process. That is why later editions are smaller and more focused, each adding a handful of well-defined features rather than a sweeping overhaul.
A proposal only enters the standard once it has two independent implementations and passes the official test262 conformance suite, so the year shown for each edition is the year those features became part of the language, not the year they first appeared behind a flag in a single engine.
Tips and notes
Use the release year to choose a transpilation target: tools like Babel and
TypeScript can down-level newer syntax for older runtimes, but features that need
runtime support (such as BigInt or WeakRef) cannot be polyfilled cleanly and
require an engine new enough to implement them natively. When in doubt, target one
or two editions behind the current year for the broadest reach.