The first standardized version of JavaScript, established by ECMA.
A minor update to align the standard with the international ISO/IEC 16262 specification.
Introduced major features such as regular expressions, improved error handling, new operators, and more.
This version was never officially released due to disagreements over some proposed features.
Added many modern features like strict mode, iteration methods for arrays (forEach, map, filter, etc.), and JSON methods.
A groundbreaking version with the introduction of classes, modules, promises, let/const, arrow functions, symbols, generators, and much more.
Added the exponentiation operator (**) and the Array.prototype.includes method.
Introduced async/await, Shared Memory, and object manipulation methods (Object.entries, Object.values).
Added rest/spread properties, improvements to regular expressions, and more.
Added Array.prototype.flat and flatMap, Object.fromEntries, and string improvements.
Introduced BigInt, Promise.allSettled, the nullish coalescing operator (??), and the optional chaining operator (?.).
Added String.prototype.replaceAll, private fields, and module improvements.
Added Array.prototype.at, top-level await, and other features. This evolution shows how JavaScript has constantly improved to meet the needs of modern developers.