ECMAScript on normisto Script tyyppi ohjelmointikieliä standardoinut ECMA International alla ECMA-262 erittely. Siksi se on standardi, jonka spesifikaatiot toteutetaan useilla komentosarjakielillä, kuten JavaScript tai ActionScript . Se on prototyyppikeskeinen ohjelmointikieli .
Yritys Netscape , joka alun perin tunnettiin nimellä Mosaic Communications Corporation , on kehittänyt asiakaspuolen komentosarjakielen nimeltä LiveScript vahvistamaan verkkopalvelimensa kaupallista toimitusta. LiveScript julkaistiin, kun NCSA pakotti Mosaic Communications Corporationin vaihtamaan nimensä Netscape- nimeksi .
Sitten Netscape kehitti asiakaslähtöisen LiveScript -version kehittämistä . Muutama päivä ennen julkaisua Netscape muutti nimen LiveScriptistä JavaScriptiksi . Koska Sun Microsystems ja Netscape ovat kumppaneita ja JVM on yhä suositumpi, tämä nimenmuutos palveli molempien yritysten etuja. Siksi Sun lupasi olla haastamatta Netscapeä .
Joulukuussa 1995 Sun ja Netscape ilmoittivat julkaisevansa JavaScriptin . Maaliskuussa 1996 Netscape otti JavaScript-moottorin käyttöön Netscape Navigator 2.0 -verkkoselaimessaan . Tämän selaimen menestys edistää JavaScriptin nopeaa käyttöönottoa asiakaslähtöisessä verkkokehityksessä. Sitten Microsoft reagoi kehittämällä JScriptin , jonka se sisällytti Internet Explorer 3.0: een elokuussa 1996 selaimen julkaisemiseksi.
Sitten Netscape lähettää JavaScriptin ECMA : lle standardointia varten. Työ alkoi marraskuussa 1996 ja päättyi kesäkuussa 1997 uuden ECMAScript- standardin käyttöönotolla . Tekniset tiedot on kirjoitettu standardissa ECMA-262 .
Tällä hetkellä ECMA-262-standardista on 11 versiota.
Nyt hylättiin ES5: n hyväksi, ensimmäisiä teoksia kritisoitiin, koska ne muuttivat kielen luonnetta, joka siirtyi prototyyppien ohjelmointimallista perinteiseen malliin, joka perustuu luokkiin, kuten Java, C ++ tai C #.
Tämä prototyyppikeskeinen malli on monille tehokkain malli olio-kehityksessä .
Ensimmäinen versio ECMAScript 4 -tietovarastosta on ollut käytettävissä kesäkuusta 2007 lähtien.
Lisäksi Mozilla ja Adobe Systems ovat työskennelleet ECMAScript 4: n spesifikaatioiden toteuttamiseksi JavaScript 2: ssa ja ActionScript 3: ssa. Jotta nämä toteutukset sovitettaisiin yhteen Tamarin-virtuaalikoneen luomisen kanssa , Mozilla ja Adobe Systems tekevät yhteistyötä Tamarin-projektissa .
ES4: n kritiikin jälkeen monet yritykset, mukaan lukien Yahoo, Microsoft ja Google, päättivät kehittää samanaikaisesti vähemmän kunnianhimoisen päivityksen ES3: lle, nimeltään ES3.1.
Huolimatta vaihtoehtojen eroista ES4-tiimin kanssa, lopulta päätetään lopettaa ES4: n kehitys ja keskittyä yksinomaan ES3.1: een, josta tulee ES5, jotta vältetään epäselvyydet, ja se julkaistiin 3. joulukuuta 2009.
Kaikki nämä tekniset tiedot ovat nyt hyvin integroituneet moderneihin selaimiin.
Nimeltään ES2015, uusin versio ECMAScriptistä julkaistiin kesäkuussa 2015. Sitä tukevat kaikki viimeisimmät selainversiot.
Ensimmäinen versio, joka julkaistiin standardointiprosessin muutoksen jälkeen, ES7 tai ES2016, tekee muutamia kieliä. Uudessa prosessissa säädetään uuden standardin julkaisemisesta vuosittain ja siihen mennessä tehdyillä lisäyksillä, jotta vältetään suurten muutosten julkaiseminen kuten vuonna 2015.
Muokkaaminen | Julkaisupäivämäärä | Erot edelliseen versioon |
---|---|---|
1 | Kesäkuu 1997 | 1. kpl painos. |
2 | Kesäkuu 1998 | Toimitukselliset muutokset kansainvälisen ISO / IEC-16262 -standardin mukaisiksi. |
3 | Joulukuu 1999 | Tehokkaammat säännölliset lausekkeet, parannettu merkkijonojen käsittely, uudet ohjauslausekkeet, poikkeusten käsittely try / catch-lauseilla, numeroiden muotoilu. |
4 | Ei koskaan | Lopetettu painos. |
5 | Joulukuu 2009 | Selventää epäselvyyksiä 3 th edition, koristeet, itsetutkiskelua, ohjaus ominaisuuksia, lisätauluja manipulointi toimintoja, tuki JSON, tiukka tila virheiden tarkistusta. |
6 | Kesäkuu 2015 | Moduulit, luokat, lohkotason leksikaalinen laajuus, iteraattorit ja generaattorit, lupaukset asynkronisesta ohjelmoinnista, destruktion kuviot, päätelaitteiden puheluiden optimointi, uudet tietorakenteet (assosiatiiviset taulukot, sarjat, binääriryhmät), tuki Unicode-merkkeille merkkijonoissa ja tavallisissa lausekkeet, mahdollisuus laajentaa ennalta määriteltyjä tietorakenteita. |
7 | Kesäkuu 2016 | Exponentiation operaattori, uusi menetelmä taulukoiden prototyypeille. |
8 | Kesäkuu 2017 | |
9 | Kesäkuu 2018 | |
10 | Kesäkuu 2019 | |
ESseuraava | Kehityksessä | Async / await, sitova operaattori , sisustajat, SIMD , havaittavissa, julkisten ja yksityisten instanssien attribuutit. |
ECMAScript for XML (E4X) on XML-laajennus ECMAScript-kielelle. Se on todellakin erilainen standardi.
Sovellus | Nimellisarvo | Viimeinen versio | ECMAScript-ottelu |
---|---|---|---|
Gecko- tyyppiset selaimet, joissa on upotettu SpiderMonkey-moottori , mukaan lukien Mozilla Firefox | Javascript | 1.8 | ECMA-262, painos 3 1 |
Internet Explorer | JScript | 5.6.7 | ECMA-262, painos 3 6 |
Ooppera | ECMAScript, JavaScript- ja JScript- laajennuksilla | 1.3 / 1.5 | ECMA-262, painos 3 |
KHTML- pohjaiset selaimet , mukaan lukien KDE: n Konqueror | Javascript | 1.5 | ECMA-262 |
Framework .NET Microsoft | JScript .NET ja hallittu JScript | 8.0 | ECMA-262, painos 3 2 |
Adobe Flash | ActionScript | 2
3 |
ECMA-262, painos 3 3 ECMA-262, painos 4 4 |
Adobe Acrobat | Javascript | 1.5 | ECMA-262, painos 3 |
Yleinen komentosarjakieli | DMDScript | 1.06 | ECMA-262 |
OpenLaszlo-foorumi | Javascript | 1.4 | ECMA-262, painos 3 5 |
iCab | InScript | 3.22 | ECMA-262, painos 3 |
Täytäntöönpano XML selainten perustuu Gecko ja sulautettujen ohjelmia kuten SpiderMonkey | E4X | ??? | ECMA-357, painos 2 |
Huomaa (1) : E4X tukee osittain Gecko 1.9: ta; muita ominaisuuksia varten.
Huomaa (2) : Microsoft ilmoittaa, että JScript 8.0 tukee "melkein kaikkia ECMAScript Edition 3: n ominaisuuksia", mutta ei luetella tukemattomia ominaisuuksia.
Huomautus (3) : ECMA-262-version 3 tuen lisäksi ActionScript 2 sisältää myös ominaisuuksia, toimintoja ja mekanismeja, joita tarjottiin ECMA-262-version 3 esikatseluversiossa. Ei tiedetä, pysyykö ActionScript edelleen synkronoituna ECMAScript-määritysten tulevien muutosten kanssa.
Huomaa (4) : Adobe ilmoittaa tukevansa ECMA-262: n painoksen 4 alustavaa versiota.
Huomaa (5) : OpenLaszlo tukee osittain ECMA-262-versiota 3.
Huomautus (6) : Microsoft on julkaissut “JScript Deviations from ES3” -asiakirjan.
Mozilla tuki, ( SpiderMonkey vuonna C-kieli ja Rhino in Java ), käyttävät useita kolmannen osapuolen ohjelmia, esimerkiksi Yahoo! Widget Engine (Konfabulator) ja komentosarjakieli Macintosh JavaScript OSA: lle .
Safari käyttää JavaScriptCore joka perustuu kirjaston KJS alkaen KDE .
Javascript | JScript | ECMAScript |
---|---|---|
1.0 (Netscape 2.0, maaliskuuta 1996) | 1.0 (IE 3.0 - ja ensimmäinen versio, elokuu 1996) | |
1.1 (Netscape 3.0, elokuuta 1996) | 2.0 (IE 3.0 - viimeisin versio, tammikuu 1997) | |
1.2 (Netscape 4.0, kesäkuuta 1997) | ||
1.3 (Netscape 4.5, lokakuu 1998) | 3.0 (IE 4.0, lokakuu 1997) | painos 1 (kesäkuu 1997) / painos 2 (kesäkuu 1998) |
1.4 (vain Netscape Server) | 4.0 (Visual Studio 6, ei uutta versiota IE: stä) | |
5.0 (IE 5.0, maaliskuuta 1999) | ||
5.1 (IE 5.01) | ||
1.5 (Netscape 6.0, marraskuu 2000; mutta myös Netscape ja Mozilla uudemmat versiot ) |
5,5 (IE 5.5, heinäkuu 2000) | painos 3 (joulukuu 1999) |
5,6 (IE 6.0, lokakuu 2001) | ||
1.6 (Gecko 1.8, Firefox 1.5, marraskuu 2005) | painos 3, uusilla ominaisuuksilla: E4X , Arrayextrat (esim. Array.prototype.forEach) Arrayja Stringgeneeriset lääkkeet [1] | |
1.7 (Gecko 1.8.1, Firefox 2.0, lokakuu 2006) | ||
1.8 (Gecko 1.9, Firefox 3.0, toukokuuta 2007) | ||
2.0 | painos 4 (kehitteillä) |