JavaScript Versions
Brendan Eich created JavaScript in 1995, and it was officially standardized by ECMA in 1997.
ECMAScript is the approved name for the language.
The different versions of ECMAScript are named ES1, ES2, ES3, ES5, and ES6.
Starting in 2016, the versions have been labeled according to the respective years, such as ECMAScript 2016, 2017, 2018, 2019, and 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 guide explains all JavaScript versions:
- The Initial Versions of JavaScript ES1, ES2, ES3 (1997-1999)
- The Initial Major Update ES5 (released in 2009)
- The second version of ES6, released in 2015.
- Annual Increases (2016, 2017, 2018, 2019, 2020)
Browser Support
Modern web browsers fully support ECMAScript versions 1 to 6.
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 cannot handle ECMAScript 5's 'use strict' directive.
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 cannot handle 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 |