ECMAScript

ECMAScript je sada standardů pro programovací jazyky skriptového typu standardizovaná společností Ecma International podle specifikace ECMA-262. Jedná se tedy o standard, jehož specifikace jsou implementovány v různých skriptovacích jazycích, jako je JavaScript nebo ActionScript . Je to programově orientovaný programovací jazyk .

Historie a vývoj

LiveScript a Mosaic Communications Corporation

Společnost Netscape , původně známá jako Mosaic Communications Corporation , vyvinula skriptovací jazyk na straně klienta s názvem LiveScript, aby posílila komerční nabídku svého webového serveru. Vydání LiveScript přišlo, když NCSA nutila Mosaic Communications Corporation ke změně názvu na Netscape .

Netscape poté pracoval na vývoji klientské verze LiveScript . Několik dní před vydáním změnil Netscape název z LiveScript na JavaScript . Jelikož jsou Sun Microsystems a Netscape partnery a JVM je stále populárnější, tato změna názvu sloužila zájmům obou společností. Sun proto slíbil, že nebude žalovat Netscape .

JavaScript a Netscape

V prosinci 1995 Sun a Netscape oznámily vydání JavaScriptu . V březnu 1996 implementovala společnost Netscape ve svém webovém prohlížeči Netscape Navigator 2.0 modul JavaScript . Úspěch tohoto prohlížeče přispívá k rychlému přijetí JavaScriptu při vývoji webu orientovaného na zákazníka. Microsoft poté reagoval vývojem JScript , který poté v srpnu 1996 zahrnul do aplikace Internet Explorer 3.0 pro vydání svého prohlížeče.

Netscape poté odešle JavaScript ke standardizaci ECMA . Práce začaly v listopadu 1996 a skončily v červnu 1997 přijetím nového standardu ECMAScript . Specifikace jsou napsány ve standardu ECMA-262 .

Verze

ECMA-262

V současné době existuje 11 verzí standardu ECMA-262.

ECMAScript vydání 4 (ES4)

Nyní opuštěné ve prospěch ES5, byly první práce kritizovány, protože změnily povahu jazyka, který přešel od programovacího modelu s prototypy k tradičnímu modelu založenému na třídách jako Java, C ++ nebo C #.

Tento prototypově orientovaný model je pro mnoho nejúčinnějších modelů v objektově orientovaném vývoji .

První verze implementačního úložiště ECMAScript 4 je k dispozici od června 2007.

Kromě toho Mozilla a Adobe Systems pracovaly na implementaci specifikací ECMAScript 4 v JavaScriptu 2 a ActionScript 3. Aby bylo možné tyto implementace sladit s vytvořením virtuálního stroje Tamarin , spolupracují Mozilla a Adobe Systems na projektu Tamarin .

ECMAScript vydání 5 (ES5)

Po kritice ES4 se řada společností, včetně společností Yahoo, Microsoft a Google, rozhodla vyvinout paralelně méně ambiciózní aktualizaci ES3 nazvanou ES3.1.

Navzdory rozdílům v možnostech s týmem ES4 bylo nakonec rozhodnuto zastavit vývoj ES4 a zaměřit se výhradně na ES3.1, který se stane ES5, aby se předešlo nejasnostem, a byl vydán 3. prosince 2009.

Všechny tyto specifikace jsou nyní dobře integrovány do moderních prohlížečů.

ECMAScript vydání 6 (ES6)

Pod názvem ES2015 byla nejnovější verze ECMAScript vydána v červnu 2015. Je podporována všemi nedávnými verzemi prohlížečů.

ECMAScript vydání 7 (ES7)

První verze vydaná po změně ve standardizačním procesu, ES7 nebo ES2016, provádí několik změn v jazyce. Nový proces stanoví každoroční vydání nového standardu s dodatky, které mezitím proběhly, aby se zabránilo zveřejnění velkých změn, jako tomu bylo v roce 2015.

Srovnávací

Úpravy Datum publikace Rozdíly oproti předchozímu vydání
1 Červen 1997 1 st edition.
2 Červen 1998 Redakční změny v souladu s mezinárodním standardem ISO / IEC-16262.
3 Prosince 1999 Výkonnější regulární výrazy, vylepšené zpracování řetězců, nové ovládací příkazy, zpracování výjimek pomocí příkazů try / catch, formátování čísel.
4 Nikdy Prodej skončil.
5 Prosince 2009 Vyjasnění nejasností v 3. ročník  vydání, přístupový, introspekci, atributy dálkový, přídavné funkce stoly manipulace, podporu JSON, přísný režim kontroly chyb.
6 Červen 2015 Moduly, třídy, lexikální obor na úrovni bloku, iterátory a generátory, přísliby pro asynchronní programování, destrukční vzory, optimalizace volání terminálu, nové datové struktury (asociativní pole, sady, binární pole), podpora dalších znaků Unicode v řetězcích znaků a pravidelných výrazy, možnost rozšíření předdefinovaných datových struktur.
7 Červen 2016 Operátor umocňování, nová metoda pro prototypy tabulek.
8 Červen 2017
9 Červen 2018
10 Červen 2019
ESalší Ve vývoji Async / await, operátor vazby , dekoratéry, SIMD , pozorovatelné, atributy veřejných a soukromých instancí.

E4X

ECMAScript pro XML (E4X) je rozšíření XML jazyka ECMAScript. Je to opravdu jiný standard.

Označení

aplikace Označení Poslední verze ECMAScript shoda
Prohlížeče typu Gecko s vestavěným modulem SpiderMonkey , včetně Mozilla Firefox Javascript 1.8 ECMA-262, vydání 3  1
internet Explorer JScript 5.6.7 ECMA-262, vydání 3  6
Opera ECMAScript s příponami JavaScript a JScript 1,3 / 1,5 ECMA-262, vydání 3
Prohlížeče založené na KHTML , včetně KDE Konqueror Javascript 1.5 ECMA-262
Framework .NET Microsoft JScript .NET a spravovaný JScript 8.0 ECMA-262, vydání 3  2
Adobe Flash ActionScript 2

3

ECMA-262, vydání 3  3

ECMA-262, vydání 4  4

Adobe Acrobat Javascript 1.5 ECMA-262, vydání 3
Obecný skriptovací jazyk DMDScript 1,06 ECMA-262
Platforma OpenLaszlo Javascript 1.4 ECMA-262, vydání 3  5
iCab InScript 3.22 ECMA-262, vydání 3
Implementace XML v prohlížečích založených na Gecko a vestavěných programech, jako je SpiderMonkey E4X ??? ECMA-357, vydání 2

Poznámka (1) : E4X částečně podporován Gecko 1.9; pro další funkce.

Poznámka (2) : Microsoft označuje, že JScript 8.0 podporuje „téměř všechny funkce ECMAScript Edition 3“, ale nevypisuje nepodporované funkce.

Poznámka (3) : Kromě podpory pro ECMA-262 vydání 3 obsahuje ActionScript 2 také podporu pro vlastnosti, funkce a mechanismy, které byly nabízeny ve verzi Preview ECMA-262 vydání 3. Není známo, zda ActionScript zůstane synchronizováno s budoucími změnami specifikací ECMAScript.

Poznámka (4) : Adobe označuje, že podporuje předběžnou verzi vydání 4 ECMA-262.

Poznámka (5) : OpenLaszlo částečně podporuje ECMA-262 vydání 3.

Poznámka (6) : Společnost Microsoft vydala dokument „Odchylky JScript od ES3“.

Podporu Mozilla ( SpiderMonkey v jazyce C a Rhino v Javě ) používá několik programů třetích stran, například Yahoo! Widget Engine (Konfabulator) a skriptovací jazyk pro Macintosh JavaScript OSA .

Safari používá JavaScriptCore, který je založen na knihovně KJS z KDE .

Korespondence

Javascript JScript ECMAScript
1.0 (Netscape 2.0, březen 1996) 1.0 (IE 3.0 - a první verze, srpen 1996)
1.1 (Netscape 3.0, srpen 1996) 2.0 (IE 3.0 - nejnovější verze, leden 1997)
1.2 (Netscape 4.0, červen 1997)
1.3 (Netscape 4.5, říjen 1998) 3.0 (IE 4.0, říjen 1997) vydání 1 (červen 1997) / vydání 2 (červen 1998)
1.4 (pouze Netscape Server) 4.0 (Visual Studio 6, žádná nová verze IE)
5.0 (IE 5.0, březen 1999)
5.1 (IE 5.01)
1.5 (Netscape 6.0, listopad 2000; ale i
novější verze Netscape a Mozilla )
5.5 (IE 5.5, červenec 2000) vydání 3 (prosinec 1999)
5.6 (IE 6.0, říjen 2001)
1.6 (Gecko 1.8, Firefox 1.5, listopad 2005) vydání 3, s novými funkcemi: E4X , Arraydoplňky (např. Array.prototype.forEach) Arraya Stringgenerika [1]
1.7 (Gecko 1.8.1, Firefox 2.0, říjen 2006)
1.8 (Gecko 1.9, Firefox 3.0, květen 2007)
2.0 vydání 4 (ve vývoji)

Dodatky

Poznámky a odkazy

  1. ECMA, „  11. verze standardu  “ ,červen 2020(zpřístupněno v červnu 2020 ) .
  2. (in) Zveřejnění specializované webové stránky .
  3. Brendan Eich , „  ECMAScript Harmony  “ ,13. srpna 2008(zpřístupněno 17. prosince 2015 ) .
  4. (in) „  Specifikace jazyka ECMAScript, 5. vydání  “ .
  5. „  Tabulka kompatibility ECMAScript 5  “ na adrese kangax.github.io (přístup k 17. prosinci 2015 ) .
  6. „  Specifikace jazyka ECMAScript 2015 - 6. vydání ECMA-262  “ , na adrese www.ecma-international.org (přístup k 17. prosinci 2015 ) .
  7. „  Tabulka kompatibility ECMAScript 6  “ na adrese kangax.github.io (přístup k 17. prosinci 2015 ) .
  8. Axel Rauschmayer, „  Není ECMAScript 2016 příliš malý?  » (Přístup 12. června 2019 ) .
  9. (in) "  Hotové návrhy  " (přístup 14. září 2016 ) .
  10. „  Aktivní návrhy  “ (přístup 14. září 2016 ) .
  11. (en) ECMA-357 .

Související články

externí odkazy