JavaScript Versions
JavaScript was invented by Brendan Eich in 1995, and became an ECMA standard in 1997.
ECMAScript is the official name of the language.
ECMAScript versions have been abbreviated to ES1, ES2, ES3, ES5, and ES6.
Since 2016, versions are named by year (ECMAScript 2016, 2017, 2018, 2019, 2020).
ECMAScript Editions
Ver | Official Name | Description |
---|---|---|
ES1 | ECMAScript 1 (1997) | First edition |
ES2 | ECMAScript 2 (1998) | Editorial changes |
ES3 | ECMAScript 3 (1999) | Added regular expressions Added try/catch Added switch Added do-while |
ES4 | ECMAScript 4 | Never released |
ES5 | ECMAScript 5 (2009) Read More |
Added "strict mode" Added JSON support Added String.trim() Added Array.isArray() Added Array iteration methods Allows trailing commas for object literals |
ES6 | ECMAScript 2015 Read More |
Added let and const Added default parameter values Added Array.find() Added Array.findIndex() |
ECMAScript 2016 Read More |
Added exponential operator (**) Added Array.includes() |
|
ECMAScript 2017 Read More | Added string padding Added Object.entries() Added Object.values() Added async functions Added shared memory Allows trailing commas for function parameters |
|
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 (??) |
This tutorial covers every version of JavaScript:
- The Original JavaScript ES1 ES2 ES3 (1997-1999)
- The First Main Revision ES5 (2009)
- The Second Revision ES6 (2015)
- Yearly Additions (2016, 2017, 2018, 2019, 2020)
Browser Support
ECMAScript 1 - 6 is fully supported in all modern browsers.
Browser Support for ES5 (2009)
Browser | Version | From Date |
---|---|---|
Chrome | 23 | Nov 2012 |
Firefox | 21 | May 2013 |
IE | 9* | Mar 2011 |
IE / Edge | 10 | Sep 2012 |
Safari | 6 | Jul 2012 |
Opera | 15 | Jul 2013 |
* Internet Explorer 9 does not support ECMAScript 5 "use strict".
Browser Support for ES6 (2015)
Browser | Version | Date |
---|---|---|
Chrome | 51 | May 2016 |
Firefox | 52 | Mar 2017 |
Edge | 14 | Aug 2016 |
Safari | 10 | Sep 2016 |
Opera | 38 | Jun 2016 |
Internet Explorer does not support ECMAScript 2015.
Browser Support for ECMAScript 2016
Browser | Version | Date |
---|---|---|
Chrome | 52 | Jul 2016 |
Firefox | 54 | Jun 2017 |
Edge | 14 | Aug 2016 |
Safari | 10.1 | Mar 2017 |
Opera | 39 | Aug 2016 |