JavaScript was developed by Brendan Eich in 1995. It was standardized in 1997 by European Computer Manufacturers Association (ECMA) and officially known as ECMAScript. The first version of the language is known as ECMSScript 1 (abbreviated as ES1). The fist three versiosn (ES1, ES2, and ES3) laid the foundation of the language. The fourth version, ES4, was abandoned. The first main revision done in ES5(2009). The second major revised version is ES6 (ECMAScript 2015). After 2015, the versions are named by the year in which it it released.
The latest version of JavaScript is ECMAScript 2023.
JavaScript Versions
In the Below table, we have specified detailed information about each version.
Version | Official Name | Release Year | Features Added |
---|---|---|---|
ES1 | ECMAScript 1 | 1997 | First release |
ES2 | ECMAScript 2 | 1998 | Minor changes |
ES3 | ECMAScript 3 | 1999 | Added regular expressionsAdded do-whileAdded switchAdded try/catch |
ES4 | ECMAScript 4 | Never Released. | |
ES5 | ECMAScript 5 | 2009 | JavaScript strict modeMultiline stringsString.trim()Array methodsObject methodsGetters and settersTrailing commas |
ES6 | ECMAScript 2015 | 2015 | let and const statementsMap and set objectsArrow functionsFor/of loopSome array methodsSymbolClassesPromisesJavaScript ModulesNew Number methods and propertiesFor/of loopSpread operator |
ES7 | ECMAScript 2016 | 2016 | Exponential (**) operatorArray.includes() method |
ES8 | ECMAScript 2017 | 2017 | Added Async/awaitAdded Object.entries() methodAdded Object.values() methodAdded Object.getOwnPropertyDescriptor() methodAdded string padding |
ES9 | ECMAScript 2018 | 2018 | Rest object propertiesJavaScript shared memoryPromise.finally() methodNew features of the RegExp() object |
ES10 | ECMAScript 2019 | 2019 | String trim.start()String trim.end()Array.flat()Revised Array.sort()Revised JSON.stringify() / toString()Object.fromEntries() method |
ES11 | ECMAScript 2020 | 2020 | Nullish Coalescing Operator (??)BigInt primitive data type |
ES12 | ECMAScript 2021 | 2021 | String.replaceAll() methodPromise.Any() method |
ES13 | ECMAScript 2022 | 2022 | The static block inside the classNew class featuresTop-level await |
ES14 | ECMAScript 2023 | 2023 | Array findLast() & findLastIndex()Hashbang GrammerSymbols as WeakMap keys |
Since 2016, early update is being released with version named by the year of release. The update release in June 2023 is known as ECMAScript 2023.
Browser Support
All modern browsers fully support the ES1 to ES6. For other versions, you may use Polyfill and write the additional code.
Chrome | Firefox | Microsoft Edge | Opera | Safari | Firefox Android |
---|---|---|---|---|---|
Yes | Yes | Yes | Yes | Yes | Yes |
Leave a Reply