JavaScript-geschiedenis
JavaScript / ECMAScript
JavaScript is in 1995 uitgevonden door Brendan Eich .
Het is ontwikkeld voor Netscape 2 en werd in 1997 de ECMA-262- standaard.
Nadat Netscape JavaScript had overgedragen aan ECMA, ging de Mozilla Foundation door met het ontwikkelen van JavaScript voor de Firefox-browser. De nieuwste versie van Mozilla was 1.8.5. (Identiek aan ES5).
Internet Explorer (IE4) was de eerste browser die ECMA-262 Edition 1 (ES1) ondersteunde.
Jaar | ECMA | Browser |
---|---|---|
1995 | JavaScript is uitgevonden door Brendan Eich | |
1996 | Netscape 2 is uitgebracht met JavaScript 1.0 | |
1997 | JavaScript werd een ECMA-standaard (ECMA-262) | |
1997 | ES1 | ECMAScript 1 is uitgebracht |
1997 | ES1 | IE 4 was de eerste browser die ES1 ondersteunde |
1998 | ES2 | ECMAScript 2 is uitgebracht |
1998 | Netscape 42 is uitgebracht met JavaScript 1.3 | |
1999 | ES2 | IE 5 was de eerste browser die ES2 ondersteunde |
1999 | ES3 | ECMAScript 3 is uitgebracht |
2000 | ES3 | IE 5.5 was de eerste browser die ES3 ondersteunde |
2000 | Netscape 62 is uitgebracht met JavaScript 1.5 | |
2000 | Firefox 1 is uitgebracht met JavaScript 1.5 | |
2008 | ES4 | ECMAScript 4 is verlaten |
2009 | ES5 | ECMAScript 5 is uitgebracht |
2011 | ES5 | IE 9 was de eerste browser die ES5 ondersteunde * |
2011 | ES5 | Firefox 4 is uitgebracht met JavaScript 1.8.5 |
2012 | ES5 | Volledige ondersteuning voor ES5 in Safari 6 |
2012 | ES5 | Volledige ondersteuning voor ES5 in IE 10 |
2012 | ES5 | Volledige ondersteuning voor ES5 in Chrome 23 |
2013 | ES5 | Volledige ondersteuning voor ES5 in Firefox 21 |
2013 | ES5 | Volledige ondersteuning voor ES5 in Opera 15 |
2014 | ES5 | Volledige ondersteuning voor ES5 in alle browsers |
2015 | ES6 | ECMAScript 6 is uitgebracht |
2016 | ES6 | Volledige ondersteuning voor ES6 in Chrome 51 |
2016 | ES6 | Volledige ondersteuning voor ES6 in Opera 38 |
2016 | ES6 | Volledige ondersteuning voor ES6 in Edge 14 |
2016 | ES6 | Volledige ondersteuning voor ES6 in Safari 10 |
2015 | ES6 | Volledige ondersteuning voor ES6 in Firefox 52 |
2018 | ES6 | Volledige ondersteuning voor ES6 in alle browsers ** |
Opmerking
* Internet Explorer 9 ondersteunde ES5 "gebruik strikt" niet.
** Internet Explorer 11 ondersteunt ES6 niet.
De technische commissie van de ECMA 39
In 1996 brachten Netscape en Brendan Eich JavaScript naar de internationale normorganisatie ECMA, en er werd een technische commissie (TC39) opgericht om de taal te ontwikkelen.
ECMA-262 Editie 1 werd uitgebracht in juni 1997.
Van ES4 naar ES6
Toen het TC39-comité in 2008 in Oslo bij elkaar kwam om overeenstemming te bereiken over ECMAScript 4, waren ze verdeeld in 2 zeer verschillende kampen:
De ECMAScript 3.1 Camp :
Microsoft en Yahoo die een incrementele upgrade van ES3 wilden.
De ECMAScript 4 Camp :
Adobe, Mozilla, Opera en Google die een enorme ES4-upgrade wilden.
13 augustus 2008, Brendan Eich schreef een e-mail :
Het is geen geheim dat de instantie voor JavaScript-normen, Ecma's Technical Committee 39, al meer dan een jaar is opgesplitst, waarbij sommige leden de voorkeur geven aan ES4, een belangrijke vierde editie van ECMA-262, en anderen pleiten voor ES3.1 op basis van de bestaande ECMA-262 Editie 3 (ES3) specificatie. Nu ben ik blij te kunnen melden dat de splitsing voorbij is.
De oplossing was om samen te werken:
- ECMAScript 4 is hernoemd naar ES5
- ES5 zou een incrementele upgrade van ECMAScript 3 moeten zijn.
- Functies van ECMAScript 4 zouden in latere versies moeten worden opgepikt.
- TC39 zou een nieuwe grote release moeten ontwikkelen, groter in omvang dan ES5.
De geplande nieuwe release (ES6) kreeg de codenaam "Harmony" (vanwege de splitsing die het creëerde?).
ES5 was een groot succes. Het werd uitgebracht in 2009 en alle belangrijke browsers (inclusief Internet Explorer) waren in juli 2013 volledig compatibel:
Chrome 23 | IE10 / Edge | Firefox 21 | Safari 6 | Opera 15 |
Nov 2012 | Sep 2012 | May 2013 | Jul 2012 | Jul 2013 |
Ook ES6 was een groot succes. Het werd uitgebracht in 2015 en alle belangrijke browsers waren in maart 2017 volledig compatibel:
Chrome 51 | Edge 14 | Firefox 52 | Safari 10 | Opera 38 |
May 2016 | Aug 2016 | Mar 2017 | Sep 2016 | Jun 2016 |