ECMAScript Editions
| Ver | Official Name | Description | 
|---|---|---|
| ES1 | ECMAScript 1 (1997) | 
 First edition The first version of ECMAScript was released in 1997. It contains only a few basic features, like variables, functions and loops.  | 
| ES2 | ECMAScript 2 (1998) | 
 Editorial changes The second version of ECMAScript is released in 1998. It contains only minor changes compared to the first version.  | 
| ES3 | ECMAScript 3 (1999) | 
 Added regular expressions The third version of ECMAScript is released in 1999. It adds many new features, such as try/catch for error handling, new comparison operators and regular expressions.  | 
| ES4 | ECMAScript 4 | Never released | 
| ES5 | ECMAScript 5 (2009) Read More  | 
 Added "strict mode" The fifth version of ECMAScript was released in 2009. It adds many new features, such as support for strict objects, the definition of read-only properties and the ability to define methods directly on objects.  | 
| ES6 | ECMAScript 2015 Read More  | 
 Added let and const Classes Spread Template literals 
  | 
| ECMAScript 2016 Read More  | 
 Added exponential operator (**) Rest/spread objects Async/wait  | 
|
| ECMAScript 2017 Read More  | 
 Added string padding Array.find() Array.findIndex() Array.flat() Array.flatMap() 
 
  | 
|
| ECMAScript 2018 Read More  | 
Added rest / spread properties Added asynchronous iteration Added Promise.finally() Additions to RegExp  | 
|
| ECMAScript 2019 Read More  | 
String.trimStart() String.trimEnd() Array.flat() Object.fromEntries Optional catch binding  | 
|
| ECMAScript 2020 Read More  | 
 The Nullish Coalescing Operator (??) 
  | 
|
| ECMAScript 2021 | 
  | 
|
| ECMAScript 2022 |  
  | 
|
| ECMAScript 2023 |