THE WORLD'S LARGEST WEB DEVELOPER SITE

JS Tutorial

JS HOME JS Introduction JS Where To JS Output JS Statements JS Syntax JS Comments JS Variables JS Operators JS Arithmetic JS Assignment JS Data Types JS Functions JS Objects JS Events JS Strings JS String Methods JS Numbers JS Number Methods JS Arrays JS Array Methods JS Array Sort JS Array Iteration JS Dates JS Date Formats JS Date Get Methods JS Date Set Methods JS Math JS Random JS Booleans JS Comparisons JS Conditions JS Switch JS Loop For JS Loop While JS Break JS Type Conversion JS Bitwise JS RegExp JS Errors JS Scope JS Hoisting JS Strict Mode JS this Keyword JS Let JS Const JS Arrow Function JS Classes JS Debugging JS Style Guide JS Best Practices JS Mistakes JS Performance JS Reserved Words JS Versions JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS JSON

JS Forms

JS Forms Forms API

JS Objects

Object Definitions Object Properties Object Methods Object Display Object Accessors Object Constructors Object Prototypes Object ECMAScript 5

JS Functions

Function Definitions Function Parameters Function Invocation Function Call Function Apply Function Closures

JS Classes

Class Intro Class Inheritance Class Static

JS Async

JS Callbacks JS Asynchronous JS Promises JS Async/Await

JS HTML DOM

DOM Intro DOM Methods DOM Document DOM Elements DOM HTML DOM CSS DOM Animations DOM Events DOM Event Listener DOM Navigation DOM Nodes DOM Collections DOM Node Lists

JS Browser BOM

JS Window JS Screen JS Location JS History JS Navigator JS Popup Alert JS Timing JS Cookies

JS AJAX

AJAX Intro AJAX XMLHttp AJAX Request AJAX Response AJAX XML File AJAX PHP AJAX ASP AJAX Database AJAX Applications AJAX Examples

JS JSON

JSON Intro JSON Syntax JSON vs XML JSON Data Types JSON Parse JSON Stringify JSON Objects JSON Arrays JSON PHP JSON HTML JSON JSONP

JS Web APIs

Web API Intro Web History API Web Storage API Web Geolocation API

JS vs jQuery

jQuery Selectors jQuery HTML jQuery CSS jQuery DOM

JS Examples

JS Examples JS HTML DOM JS HTML Input JS HTML Objects JS HTML Events JS Browser JS Editor JS Exercises JS Quiz JS Certificate

JS References

JavaScript Objects HTML DOM Objects


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.

From 2015 ECMAScript is named by year (ECMAScript 2015).


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
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
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.prototype.includes
ECMAScript 2017

Read More
Added string padding
Added Object.entries
Added Object.values
Added async functions
Added shared memory
ECMAScript 2018 Added rest / spread properties
Added asynchronous iteration
Added Promise.finally()
Additions to RegExp

Browser Support

ECMAScript 3 is fully supported in all browsers.

ECMAScript 5 is fully supported in all modern browsers.


Browser Support for ES5 (2009)

Browser Version From Date
Chrome23Sep 2012
Firefox21Apr 2013
IE9*Mar 2011
IE / Edge10Sep 2012
Safari6Jul 2012
Opera15Jul 2013

* Internet Explorer 9 does not support ECMAScript 5 "use strict".


Browser Support for ES6 (ECMAScript 2015)

Browser Version Date
Chrome51May 2016
Firefox54Jun 2017
Edge14Aug 2016
Safari10Sep 2016
Opera38 Jun 2016

Internet Explorer does not support ECMAScript 2015.


Browser Support for ES7 (ECMAScript 2016)

Browser Version Date
Chrome68May 2018
Opera55Aug 2018


JavaScript / ECMAScript

JavaScript was developed for Netscape. Netscape 2 was the first browser to run JavaScript.

After Netscape the Mozilla foundation continued to develop JavaScript for the Firefox browser.

The latest JavaScript version was 1.8.5. (Identical to ECMAScript 5).

ECMAScript was developed by ECMA International after the organization adopted JavaScript.

The first edition of ECMAScript was released in 1997.

This list compares the version numbers of the different products:

Year JavaScriptECMABrowser
1996 1.0 Netscape 2
1997   ECMAScript 1 IE 4
1998 1.3   Netscape 4
1999   ECMAScript 2 IE 5
2000   ECMAScript 3 IE 5.5
2000 1.5   Netscape 6
2000 1.5   Firefox 1
2011   ECMAScript 5 IE 9 (Except "use strict")
2011 1.8.5 Firefox 4 (Except leading zeroes in parseInt)
2012   IE 10
2012     Chrome 23
2012     Safari 6
2013     Firefox 21
2013     Opera 15
2015   ECMAScript 2015 Partially Supported in all Browser

IE 4 was the first browser to support ECMAScript 1 (1997).

IE 5 was the first browser to support ECMAScript 2 (1999).

IE 5.5 was the first browser to support ECMAScript 3 (2000).

IE 9* was the first browser to support ECMAScript 5 (2011).

Internet Explorer 9 does not support ECMAScript 5 "use strict".

Chrome 23, IE 10, and Safari 6 were the first browsers to fully support ECMAScript 5:

Chrome 23 IE10 / Edge Firefox 21 Safari 6 Opera 15
Sep 2012 Sep 2012 Apr 2013 Jul 2012 Jul 2013