Feature Timeline
Feature Timeline
Section titled “Feature Timeline”Introduction
Section titled “Introduction”JavaScript evolves through annual ECMAScript releases. Here’s a timeline of major features.
Timeline
Section titled “Timeline”timeline title JavaScript Evolution ES6 (2015) : let/const, arrow functions, classes, promises, modules, template literals, destructuring, spread/rest, Map/Set, Symbol, proxies ES7 (2016) : Array.includes, exponentiation operator (**) ES8 (2017) : async/await, Object.values, Object.entries, String.padStart, trailing commas ES9 (2018) : rest/spread for objects, async iteration, Promise.finally ES10 (2019) : Array.flat, Array.flatMap, Object.fromEntries, String.trimStart/trimEnd ES11 (2020) : nullish coalescing (??), optional chaining (?.), globalThis, BigInt, Promise.allSettled ES12 (2021) : String.replaceAll, Promise.any, logical assignment (&&=, ||=, ??=) ES13 (2022) : Array.at, Error cause, top-level await, private class fields (#) ES14 (2023) : Array findLast, Array toReversed/toSorted/toSplicedMost Impactful Releases
Section titled “Most Impactful Releases”| Year | Version | Impact |
|---|---|---|
| 2015 | ES6 | Biggest update — transformed JavaScript |
| 2017 | ES8 | async/await changed async programming |
| 2020 | ES11 | Optional chaining, nullish coalescing |
Summary
Section titled “Summary”- ES6 (2015) was the most significant update
- Annual releases since 2016 provide steady improvements
- Features go through TC39 stages (0-4) before inclusion
- Modern browsers support ES6+ features well