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 .
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 .
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 .
Jelenleg 11 verziója van az ECMA-262 szabványnak.
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 .
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.
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.
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.
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. |
Az ECMAScript for XML (E4X) az ECMAScript nyelv XML kiterjesztése. Valóban más színvonalról van szó.
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 .
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) |