ECMAScript

Az ECMAScript egy szkript típusú programozási nyelvekre vonatkozó szabványkészlet, amelyet az Ecma International szabványosított az ECMA-262 specifikáció alapján. Ezért ez egy szabvány, amelynek specifikációit különféle szkriptnyelveken hajtják végre, például JavaScriptben vagy ActionScriptben . Ez egy prototípus-orientált programozási nyelv .

Történelem és fejlődés

LiveScript és Mosaic Communications Corporation

A Netscape vállalat , eredetileg a Mosaic Communications Corporation néven , kifejlesztette a LiveScript nevű kliensoldali szkriptnyelvet, hogy megerősítse webszervere kereskedelmi kínálatát. A LiveScript kiadása akkor történt, amikor az NCSA arra kényszerítette a Mosaic Communications Corporation-t, hogy változtassa meg a nevét Netscape-re .

A Netscape ezután a LiveScript kliensorientált változatának fejlesztésén dolgozott . Néhány nappal a megjelenése előtt a Netscape megváltoztatta a nevet LiveScript-ről JavaScript-re . Mivel a Sun Microsystems és a Netscape partnerek, és a JVM egyre népszerűbb, ez a névváltozás mindkét vállalat érdekeit szolgálta. A Sun ezért megígérte, hogy nem pereli be a Netscape-et .

JavaScript és Netscape

1995 decemberében a Sun és a Netscape bejelentette a JavaScript kiadását . 1996 márciusában a Netscape beépítette a JavaScript motort a Netscape Navigator 2.0 webböngészőjébe . Ennek a böngészőnek a sikere hozzájárul a JavaScript gyors elterjedéséhez az ügyfélorientált webfejlesztésben. A Microsoft ezt követően a JScript fejlesztésével reagált , amelyet 1996 augusztusában beépített az Internet Explorer 3.0-ba a böngésző kiadása céljából.

Ezután a Netscape elküldi a JavaScript-et az ECMA- nak szabványosítás céljából. A munka 1996 novemberében kezdődött és 1997 júniusában fejeződött be az új ECMAScript szabvány elfogadásával . A specifikációkat az ECMA-262 szabvány írja le .

Verziók

ECMA-262

Jelenleg 11 verziója van az ECMA-262 szabványnak.

ECMAScript 4. kiadás (ES4)

Az ES5 javára felhagyva az első műveket kritikával illették, mert megváltoztatták a nyelv természetét, amely a prototípusokkal rendelkező programozási modellből egy olyan hagyományos modellre vált, amely olyan osztályokon alapszik, mint a Java, a C ++ vagy a C #.

Ez a prototípus- orientált modell sokak számára a leghatékonyabb modell az objektum-orientált fejlesztésben .

Az ECMAScript 4 implementációs adattár első verziója 2007 júniusa óta elérhető.

Ezenkívül a Mozilla és az Adobe Systems az ECMAScript 4 specifikációinak megvalósításán fáradozott a JavaScript 2 és az ActionScript 3 programokban. Ezeknek a megvalósításoknak a Tamarin virtuális gép létrehozásával való összeegyeztetése érdekében a Mozilla és az Adobe Systems együttműködnek a Tamarin projektben .

ECMAScript 5. kiadás (ES5)

Az ES4 kritikáját követően számos vállalat, köztük a Yahoo, a Microsoft és a Google, úgy dönt, hogy ezzel párhuzamosan egy kevésbé ambiciózus ES3 frissítést fejleszt, amelyet ES3.1-nek hívnak.

Az ES4 csapattal való opcionális különbségek ellenére végül az a döntés született, hogy leállítják az ES4 fejlesztését, és kizárólag az ES3.1-re koncentrálnak, amely az esetleges kétértelműség elkerülése érdekében ES5-vé válik, és 2009. december 3-án jelent meg.

Ezek a specifikációk ma már jól integrálódnak a modern böngészőkbe.

ECMAScript 6. kiadás (ES6)

Az ES2015 névre keresztelt ECMAScript legújabb verziója 2015 júniusában jelent meg. A böngészők összes legújabb verziója támogatja.

ECMAScript 7. kiadás (ES7)

A szabványosítási folyamat megváltoztatása után kiadott első verzió, az ES7 vagy az ES2016, kevés nyelven változtat. Az új folyamat előírja, hogy minden évben új szabványt kell közzétenni az időközben elvégzett kiegészítésekkel annak érdekében, hogy elkerüljék a hatalmas változások közzétételét, ahogyan az 2015-ben történt.

Összehasonlító

Szerkesztés Megjelenés dátuma Különbségek az előző kiadással szemben
1 1997. június 1 st kiadás.
2 1998. június Szerkesztői változtatások az ISO / IEC-16262 nemzetközi szabványnak való megfelelés érdekében.
3 1999. december Hatékonyabb reguláris kifejezések, jobb karakterlánc-kezelés, új vezérlő utasítások, kivételkezelés try / catch utasításokkal, számformázás.
4 Soha Megszűnt kiadás.
5. 2009. december Tisztázása félreérthető a 3 th  kiadás, tartozék, önvizsgálat, ellenőrzés attribútumok további táblákat képességeivel támogatja JSON, szigorú módban hibajavítás.
6. 2015. június Modulok, osztályok, blokkszintű lexikális hatókör, iterátorok és generátorok, ígéretek aszinkron programozásra, struktúrák roncsolására, a terminálhívások optimalizálására, új adatstruktúrák (asszociatív tömbök, halmazok, bináris tömbök), további Unicode karakterek támogatása karakterláncokban és normál kifejezések, az előre definiált adatszerkezetek kiterjesztésének lehetősége.
7 2016. június Exponentációs operátor, új módszer a táblák prototípusaihoz.
8. 2017. június
9. 2018. június
10. 2019. június
ES Következő Fejlesztés alatt Async / await, kötelező operátor , dekorátorok, SIMD , megfigyelhető, nyilvános és magán példányok attribútumai.

E4X

Az ECMAScript for XML (E4X) az ECMAScript nyelv XML kiterjesztése. Valóban más színvonalról van szó.

Megnevezés

Alkalmazás Megnevezés Utolsó verzió ECMAScript egyezés
Gecko típusú böngészők a SpiderMonkey beágyazott motorral , beleértve a Mozilla Firefoxot is Javascript 1.8 ECMA-262, 3. kiadás  1
internet böngésző JScript 5.6.7 ECMA-262, 3. kiadás  6
Opera ECMAScript, JavaScript és JScript kiterjesztésekkel 1.3 / 1.5 ECMA-262, 3. kiadás
KHTML- alapú böngészők , beleértve a KDE Konqueror programját is Javascript 1.5 ECMA-262
.NET Microsoft keretrendszer JScript .NET és felügyelt JScript 8.0 ECMA-262, 3. kiadás  2
Adobe Flash ActionScript 2

3

ECMA-262, 3. kiadás  3

ECMA-262, 4. kiadás  4

Adobe Acrobat Javascript 1.5 ECMA-262, 3. kiadás
Általános szkriptnyelv DMDScript 1.06 ECMA-262
OpenLaszlo Platform Javascript 1.4 ECMA-262, 3. kiadás  5
iCab InScript 3.22 ECMA-262, 3. kiadás
Végrehajtása XML a böngészőkben alapuló Gecko és beágyazott programok, mint SpiderMonkey E4X ??? ECMA-357, 2. kiadás

(1) megjegyzés : Az E4X részben a Gecko 1.9 által támogatott; egyéb funkciókhoz.

Megjegyzés (2) : A Microsoft jelzi, hogy a JScript 8.0 támogatja az "ECMAScript Edition 3 szinte összes szolgáltatását", de nem sorolja a nem támogatott szolgáltatásokat.

(3) megjegyzés : Az ECMA-262 3. kiadás támogatásán túl az ActionScript 2 az ECMA-262 3. kiadás előnézeti kiadásában kínált tulajdonságok, funkciók és mechanizmusok támogatását is magában foglalja. Nem ismert, hogy az ActionScript megmarad-e szinkronban az ECMAScript specifikációk jövőbeli változásával.

4. megjegyzés : Az Adobe jelzi, hogy támogatja az ECMA-262 4. kiadásának előzetes verzióját.

5. megjegyzés : Az OpenLaszlo részben támogatja az ECMA-262 3. kiadását.

(6) megjegyzés : A Microsoft közzétett egy „JScript eltérések az ES3-tól” dokumentumot.

Mozilla támogatás ( SpiderMonkey a C nyelv és Rhino a Java ), használják, hogy számos harmadik féltől származó programok, például a Yahoo! Widget Engine (Konfabulator) és szkriptnyelv a Macintosh JavaScript OSA-hoz .

A Safari a JavaScriptCore-t használja, amely a KDE KJS könyvtárán alapul .

Levelezés

Javascript JScript ECMAScript
1.0 (Netscape 2.0, 1996. március) 1.0 (IE 3.0 - és első verzió, 1996. augusztus)
1.1 (Netscape 3.0, 1996. aug.) 2.0 (IE 3.0 - legújabb verzió, 1997 január)
1.2 (Netscape 4.0, 1997. jún.)
1.3 (Netscape 4.5, 1998. október) 3.0 (IE 4.0, 1997. október) 1. kiadás (1997. június) / 2. kiadás (1998. június)
1.4 (csak Netscape Server) 4.0 (Visual Studio 6, nincs új verziója az IE-nek)
5.0 (IE 5.0, 1999. március)
5,1 (IE 5.01)
1.5 (Netscape 6.0, 2000. november; de
a Netscape és a Mozilla újabb verziói is )
5,5 (IE 5.5, 2000. július) 3. kiadás (1999. december)
5,6 (IE 6.0, 2001. október)
1.6 (Gecko 1.8, Firefox 1.5, 2005. november) 3. kiadás, új funkciókkal: E4X , Arrayextrák (pl. Array.prototype.forEach) Arrayés Stringgenerikus gyógyszerek [1]
1.7 (Gecko 1.8.1, Firefox 2.0, 2006. október)
1.8 (Gecko 1.9, Firefox 3.0, 2007. május)
2.0 4. kiadás (fejlesztés alatt)

Függelékek

Megjegyzések és hivatkozások

  1. ECMA, "  A szabvány 11. verziója  " ,2020. június(megtekintés 2020. június ) .
  2. (in) dedikált weboldal közzététele .
  3. Brendan Eich , "  ECMAScript Harmony  " ,2008. augusztus 13(megtekintés : 2015. december 17. ) .
  4. (in) "  ECMAScript nyelvi specifikáció, 5. kiadás  " .
  5. „  ECMAScript 5 kompatibilitási táblázat  ” , a kangax.github.io címen (hozzáférés : 2015. december 17. ) .
  6. „  ECMAScript 2015 Language Specification - ECMA-262 6. kiadás  ” , a www.ecma-international.org címen (hozzáférés : 2015. december 17. ) .
  7. „  ECMAScript 6 kompatibilitási táblázat  ” , a kangax.github.io címen (hozzáférés : 2015. december 17. ) .
  8. Axel Rauschmayer: „  Az ECMAScript 2016 nem túl kicsi?  » (Hozzáférés : 2019. június 12. ) .
  9. (in) „  Befejezett javaslatok  ” (hozzáférés: 2016. szeptember 14. ) .
  10. „  Aktív javaslatok  ” (hozzáférés : 2016. szeptember 14. ) .
  11. (en) ECMA-357 .

Kapcsolódó cikkek

Külső linkek