JavaScript was created by Brendan Eich in 1995 and became an ECMA standard in 1997.
The official name of the language is ECMAScript.
ECMAScript versions were initially labeled as ES1, ES2, ES3, ES5, and ES6.
Since 2016, versions have been named by year (e.g., ECMAScript 2016, 2017, 2018, 2019, 2020).
Ver |
Official Name |
Description |
ES1 |
ECMAScript 1 (1997) |
First edition |
ES2 |
ECMAScript 2 (1998) |
Editorial changes |
ES3 |
ECMAScript 3 (1999) |
Added regular expressions |
ES4 |
ECMAScript 4 |
Never released |
ES5 |
ECMAScript 5 (2009) |
Added “strict mode” |
ES6 |
ECMAScript 2015 |
Added let and const |
ECMAScript 2016 |
Added exponential operator (**) |
|
ECMAScript 2017 |
Added string padding |
|
ECMAScript 2018 |
Added rest / spread properties |
|
ECMAScript 2019 |
String.trimStart() |
|
ECMAScript 2020 |
The Nullish Coalescing Operator (??) |
This tutorial covers all versions of JavaScript:
|
ECMAScript versions 1 through 6 are fully supported in all modern browsers.
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 |
Browser |
Version |
Date |
Chrome |
51 |
May 2016 |
Firefox |
52 |
Mar 2017 |
Edge |
14 |
Aug 2016 |
Safari |
10 |
Sep 2016 |
Opera |
38 |
Jun 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 |