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 4Never 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
Chrome23Nov 2012
Firefox21May 2013
IE9*Mar 2011
IE / Edge10Sep 2012
Safari6Jul 2012
Opera15Jul 2013

Internet Explorer 9 cannot handle ECMAScript 5's 'use strict' directive.


Browser Support for ES6 (2015)

Browser Version Date
Chrome51May 2016
Firefox52Mar 2017
Edge14Aug 2016
Safari10Sep 2016
Opera38Jun 2016

Internet Explorer cannot handle ECMAScript 2015.


Browser Support for ECMAScript 2016

Browser Version Date
Chrome52Jul 2016
Firefox54Jun 2017
Edge14Aug 2016
Safari10.1Mar 2017
Opera39Aug 2016