ECMAScript er et sett av standarder for Script typen programmeringsspråk standardiseres av Ecma International under ECMA-262-spesifikasjonen. Det er derfor en standard, hvis spesifikasjoner er implementert på forskjellige skriptspråk, som JavaScript eller ActionScript . Det er et prototype orientert programmeringsspråk .
Selskapet Netscape , opprinnelig kjent som Mosaic Communications Corporation , har utviklet et skriptspråk på klientsiden kalt LiveScript for å styrke den kommersielle tilgangen til webserveren. Utgivelsen av LiveScript kom da NCSA tvang Mosaic Communications Corporation til å endre navn til Netscape .
Netscape jobbet deretter med utviklingen av en klientorientert versjon av LiveScript . Noen dager før utgivelsen endret Netscape navnet fra LiveScript til JavaScript . Siden Sun Microsystems og Netscape er partnere, og JVM blir stadig mer populært, tjente denne navneendringen begge selskapenes interesser. Sun lovet derfor å ikke saksøke Netscape .
I desember 1995 kunngjorde Sun og Netscape utgivelsen av JavaScript . I mars 1996 implementerte Netscape JavaScript-motoren i sin nettleser Netscape Navigator 2.0. Suksessen til denne nettleseren bidrar til rask bruk av JavaScript i kundeorientert nettutvikling. Microsoft reagerte deretter ved å utvikle JScript , som den deretter inkluderte i Internet Explorer 3.0 i august 1996 for utgivelsen av nettleseren.
Netscape sender deretter JavaScript til ECMA for standardisering. Arbeidet startet i november 1996 og avsluttet i juni 1997 med vedtakelsen av den nye ECMAScript- standarden . Spesifikasjonene er skrevet i Standard ECMA-262 .
Det er for tiden 11 versjoner av ECMA-262-standarden.
Nå forlatt til fordel for ES5, ble de første verkene kritisert fordi de endret språket, som gikk fra en programmeringsmodell med prototyper til en tradisjonell modell basert på klasser som Java, C ++ eller C #.
Denne prototype- orienterte modellen er for mange den mest effektive modellen innen objektorientert utvikling .
En første versjon av implementeringsregisteret for ECMAScript 4 har vært tilgjengelig siden juni 2007.
I tillegg har Mozilla og Adobe Systems arbeidet med implementeringen av spesifikasjonene til ECMAScript 4 i JavaScript 2 og ActionScript 3. For å forene disse implementeringene med opprettelsen av den virtuelle Tamarin-maskinen , samarbeider Mozilla og Adobe Systems om Tamarin-prosjektet .
Etter kritikk av ES4 bestemte en rekke selskaper, inkludert Yahoo, Microsoft og Google, seg for å utvikle en mindre ambisiøs oppdatering av ES3 parallelt, kalt ES3.1.
Til tross for alternativforskjellene med ES4-teamet ble endelig beslutningen tatt for å stoppe utviklingen av ES4 og fokusere utelukkende på ES3.1, som blir ES5 for å unngå enhver tvetydighet, og ble utgitt 3. desember 2009.
Alle disse spesifikasjonene er nå godt integrert i moderne nettlesere.
Navnet ES2015, den siste versjonen av ECMAScript ble utgitt i juni 2015. Den støttes av alle nyere versjoner av nettlesere.
Den første versjonen som ble utgitt etter endringen i standardiseringsprosessen, ES7, eller ES2016, gjør få endringer i språket. Den nye prosessen åpner for publisering av en ny standard hvert år med tilleggene som har skjedd i mellomtiden, for å unngå å publisere store endringer som det var tilfellet i 2015.
Redigering | Publiseringsdato | Forskjeller med forrige utgave |
---|---|---|
1 | Juni 1997 | 1 st utgave. |
2 | Juni 1998 | Redaksjonelle endringer i samsvar med den internasjonale standarden ISO / IEC-16262. |
3 | Desember 1999 | Kraftigere regulære uttrykk, forbedret håndtering av strenger, nye kontrolluttalelser, unntakshåndtering med try / catch-setninger, tallformatering. |
4 | Aldri | Utgått utgave. |
5 | Desember 2009 | Avklare uklarheter i tre th edition, tilbehør, introspeksjon, kontroll attributter, ekstra bord manipulasjon funksjoner, støtte JSON, streng modus for feilsjekking. |
6 | Juni 2015 | Moduler, klasser, leksikalt omfang på blokknivå, iteratorer og generatorer, løfter om asynkron programmering, destruktureringsmønstre, optimalisering av terminalanrop, nye datastrukturer (assosiative matriser, sett, binære matriser), støtte for ekstra Unicode-tegn i tegnstrenger og vanlig uttrykk, mulighet for å utvide de forhåndsdefinerte datastrukturene. |
7 | Juni 2016 | Eksponentieringsoperatør, ny metode for prototyper av tabeller. |
8 | Juni 2017 | |
9 | Juni 2018 | |
10 | Juni 2019 | |
ESneste | Under utvikling | Asynkroniser / vent, bindende operatør , dekoratører, SIMD , observerbar, attributter fra offentlige og private instanser. |
ECMAScript for XML (E4X) er en XML-utvidelse av ECMAScript-språket. Det er virkelig en annen standard.
applikasjon | Valør | Siste versjon | ECMAScript-kamp |
---|---|---|---|
Gecko- type nettlesere med SpiderMonkey innebygd motor , inkludert Mozilla Firefox | Javascript | 1.8 | ECMA-262, utgave 3 1 |
Internet Explorer | JScript | 5.6.7 | ECMA-262, utgave 3 6 |
Opera | ECMAScript, med JavaScript- og JScript- utvidelser | 1.3 / 1.5 | ECMA-262, utgave 3 |
KHTML- baserte nettlesere , inkludert KDEs Konqueror | Javascript | 1.5 | ECMA-262 |
Framework .NET Microsoft | JScript .NET og Managed JScript | 8.0 | ECMA-262, utgave 3 2 |
Adobe Flash | ActionScript | 2
3 |
ECMA-262, utgave 3 3 ECMA-262, utgave 4 4 |
Adobe Acrobat | Javascript | 1.5 | ECMA-262, utgave 3 |
Generelt skriptspråk | DMDScript | 1.06 | ECMA-262 |
OpenLaszlo plattform | Javascript | 1.4 | ECMA-262, utgave 3 5 |
iCab | InScript | 3.22 | ECMA-262, utgave 3 |
Implementering av XML i nettlesere basert på Gecko og innebygde programmer som SpiderMonkey | E4X | ??? | ECMA-357, utgave 2 |
Merknad (1) : E4X delvis støttet av Gecko 1.9; for andre funksjoner.
Merknad (2) : Microsoft indikerer at JScript 8.0 støtter "nesten alle funksjonene i ECMAScript Edition 3", men ikke viser funksjoner som ikke støttes.
Merknad (3) : I tillegg til støtte for ECMA-262 utgave 3, inkluderer ActionScript 2 også støtte for egenskaper, funksjoner og mekanismer som ble tilbudt i en forhåndsvisning av ECMA-262 utgave 3. Det er ikke kjent om ActionScript vil forbli synkronisert med fremtidige endringer i ECMAScript-spesifikasjonene.
Merknad (4) : Adobe indikerer at den støtter en foreløpig versjon av utgave 4 av ECMA-262.
Merknad (5) : OpenLaszlo støtter delvis ECMA-262 utgave 3.
Merknad (6) : Et "JScript-avvik fra ES3" -dokument er publisert av Microsoft .
Mozilla-støtte, ( SpiderMonkey på C-språk og Rhino i Java ), brukes av flere tredjepartsprogrammer, for eksempel Yahoo! Widget Engine (Konfabulator) og skriptspråk for Macintosh JavaScript OSA .
Safari bruker JavaScriptCore som er basert på biblioteket KJS fra KDE .
Javascript | JScript | ECMAScript |
---|---|---|
1.0 (Netscape 2.0, mar 1996) | 1.0 (IE 3.0 - og første versjon, august 1996) | |
1.1 (Netscape 3.0, aug 1996) | 2.0 (IE 3.0 - siste versjon, januar 1997) | |
1.2 (Netscape 4.0, jun 1997) | ||
1.3 (Netscape 4.5, oktober 1998) | 3.0 (IE 4.0, oktober 1997) | utgave 1 (juni 1997) / utgave 2 (juni 1998) |
1.4 (bare Netscape Server) | 4.0 (Visual Studio 6, ingen ny versjon av IE) | |
5.0 (IE 5.0, mar 1999) | ||
5.1 (IE 5.01) | ||
1.5 (Netscape 6.0, nov 2000, men også senere versjoner av Netscape og Mozilla ) |
5.5 (IE 5.5, juli 2000) | utgave 3 (desember 1999) |
5.6 (IE 6.0, oktober 2001) | ||
1.6 (Gecko 1.8, Firefox 1.5, november 2005) | utgave 3, med nye funksjoner: E4X , Arrayekstrautstyr (f.eks. Array.prototype.forEach) Arrayog Stringgeneriske produkter [1] | |
1.7 (Gecko 1.8.1, Firefox 2.0, oktober 2006) | ||
1.8 (Gecko 1.9, Firefox 3.0, mai 2007) | ||
2.0 | utgave 4 (under utvikling) |