Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS DSA TYPESCRIPT ANGULAR ANGULARJS GIT POSTGRESQL MONGODB ASP AI R GO KOTLIN SWIFT SASS VUE GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE INTRO TO PROGRAMMING INTRO TO HTML & CSS BASH RUST TOOLS

Basic JavaScript

JS Tutorial JS Introduction JS Where To JS Output

JS Syntax

JS Syntax JS Statements JS Comments JS Variables JS Let JS Const JS Types

JS Operators

JS Operators JS Arithmetic JS Assignment JS Comparisons JS Conditional JS If JS If Else JS Ternary JS Switch JS Booleans JS Logical

JS Loops

JS Loops JS Loop for JS Loop while JS Break JS Continue JS Control Flow

JS Strings

JS Strings JS String Templates JS String Methods JS String Search JS String Reference

JS Numbers

JS Numbers JS Number Methods JS Number Properties JS Number Reference JS Bitwise JS BigInt

JS Functions

Function Path Function Intro Function Invocation Function Parameters Function Returns Function Arguments Function Expressions Function Arrow Function Quiz

JS Objects

Object Path Object Intro Object Properties Object Methods Object this Object Display Object Constructors

JS Scope

JS Scope JS Code Blocks JS Hoisting JS Strict Mode

JS Dates

JS Dates JS Date Formats JS Date Get JS Date Set JS Date Methods

JS Arrays

JS Arrays JS Array Methods JS Array Search JS Array Sort JS Array Iterations JS Array Reference JS Array Const

JS Sets

JS Sets JS Set Methods JS Set Logic JS Set WeakSet JS Set Reference

JS Maps

JS Maps JS Map Methods JS Map WeakMap JS Map Reference

JS Iterations

JS Loops JS Iterables JS Iterators JS Generators

JS Math

JS Math JS Math Reference JS Math Random

JS RexExp

JS RegExp JS RegExp Flags JS RegExp Classes JS RegExp Metachars JS RegExp Assertions JS RegExp Quantifiers JS RegExp Patterns JS RegExp Objects JS RegExp Methods

JS Data Types

JS Destructuring JS Data Types JS Primitive Data JS Object Types JS typeof JS toString JS Type Conversion

JS Errors

JS Errors Intro JS Errors Silent JS Error Statements JS Error Object

JS Debugging

Debugging Intro Debugging Console Debugging Breakpoints Debugging Errors Debugging Async Debugging Reference

JS Conventions

JS Style Guide JS Best Practices JS Mistakes JS Performance

JS References

JS Statements JS Reserved Keywords JS Operators JS Precedence

JS Versions

JS 2026 JS 2025 JS 2024 JS 2023 JS 2022 JS 2021 JS 2020 JS 2019 JS 2018 JS 2017 JS 2016 JS Versions JS 2015 (ES6) JS 2009 (ES5) JS 1999 (ES3) JS IE / Edge JS History

JS HTML

JS HTML DOM JS Events JS Projects New

JS Advanced

JS Temporal  New JS Functions JS Objects JS Classes JS Asynchronous JS Modules JS Meta & Proxy JS Typed Arrays JS DOM Navigation JS Windows JS Web APIs JS AJAX JS JSON JS jQuery JS Graphics JS Examples JS Reference


JavaScript History


JavaScript / ECMAScript

JavaScript was invented by Brendan Eich in 1995.

It was developed for the Netscape browser, and became the ECMA-262 standard in 1997.

After Netscape handed JavaScript over to ECMA, the Mozilla foundation continued to develop JavaScript for the Firefox browser. Mozilla's latest version was 1.8.5. (Identical to ES5).

Internet Explorer 4 was the first browser to support ECMAScript 1 (ES1).

Internet Explorer 10 was the first browser to support ECMAScript 5 (ES5).

Internet Explorer 11 was the last version of Internet Explorer.

Internet Explorer 11 primarily supported ES5. It lacked support for most ES6 features.

Microsoft ended the support for Internet Explorer in 2022.


Year ECMABrowser
1995   JavaScript was invented by Brendan Eich
1996   Netscape 2 was released with JavaScript 1.0
1997   JavaScript became an ECMA standard (ECMA-262)
1997 ES1 ECMAScript 1 was released
1997 ES1 IE 4 was the first browser to support ES1
1998 ES2 ECMAScript 2 was released
1998   Netscape 42 was released with JavaScript 1.3
1999 ES2 IE 5 was the first browser to support ES2
1999 ES3 ECMAScript 3 was released
2000 ES3 IE 5.5 was the first browser to support ES3
2000   Netscape 62 was released with JavaScript 1.5
2000   Firefox 1 was released with JavaScript 1.5
2008 ES4 ECMAScript 4 was abandoned
2009 ES5 ECMAScript 5 was released
2011 ES5 IE 9 was the first browser to support ES5
2011 ES5 Firefox 4 was released with JavaScript 1.8.5
2012 ES5 Full support for ES5 in Safari 6
2012 ES5 Full support for ES5 in IE 10
2012 ES5 Full support for ES5 in Chrome 23
2013 ES5 Full support for ES5 in Firefox 21
2013 ES5 Full support for ES5 in Opera 15
2014 ES5 Full support for ES5 in all browsers
2015 ES6 ECMAScript 6 was released
2016 ES6 Full support for ES6 in Chrome 51
2016 ES6 Full support for ES6 in Opera 38
2016 ES6 Full support for ES6 in Safari 10
2017 ES6 Full support for ES6 in Firefox 54
2017 ES6 Full support for ES6 in Edge 15


The ECMA Technical Committee 39

In 1996, Netscape and Brendan Eich took JavaScript to the ECMA international standards organization, and a technical committee (TC39) was created to develop the language.

ECMA-262 Edition 1 was released in June 1997.


From ES4 to ES6

When the TC39 committee got together in Oslo in 2008, to agree on ECMAScript 4, they were divided into 2 very different camps:

The ECMAScript 3.1 Camp:
Microsoft and Yahoo who wanted an incremental upgrade from ES3.

The ECMAScript 4 Camp:
Adobe, Mozilla, Opera, and Google who wanted a massive ES4 upgrade.

August 13 2008, Brendan Eich wrote an email:

It's no secret that the JavaScript standards body, Ecma's Technical Committee 39, has been split for over a year, with some members favoring ES4, a major fourth edition to ECMA-262, and others advocating ES3.1 based on the existing ECMA-262 Edition 3 (ES3) specification. Now, I'm happy to report, the split is over.

The solution was to work together:

  • ECMAScript 4 was renamed to ES5
  • ES5 should be an incremental upgrade of ECMAScript 3.
  • Features of ECMAScript 4 should be picked up in later versions.
  • TC39 should develop a new major release, bigger in scope than ES5.

The planned new release (ES6) was codenamed "Harmony" (Because of the split it created?).

ES5 was a huge success. It was released in 2009, and all major browsers (including Internet Explorer) were fully compliant by July 2013:

Nov 2012 Sep 2012 May 2013 Jul 2012 Jul 2013

ES6 was also a huge success. It was released in 2015, and all major browsers were fully compliant by March 2017:

May 2016 Aug 2016 Mar 2017 Sep 2016 Jun 2016


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
sales@w3schools.com

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
help@w3schools.com

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookies and privacy policy.

Copyright 1999-2026 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.

-->