ECMAScript

Programmeringsspråk-spesifikasjon, definerer blant annet JavaScript

ECMAScript (eller ES[1]) er en programmeringsspråk-spesifikasjon som er standardisert av Ecma International i standardene ECMA-262[2] og ISO/IEC 16262. Spesifikasjonen var opprinnelig basert på JavaScript, men dette har nå snudd slik at JavaScript følger utviklingen i ECMAScript-standarden.

ECMAScript
Tilblivelsejuni 1997
ParadigmeMulti-paradigme: Funksjonell programmering, prototypebasert programmering, imperativ programmering
Designet avBrendan Eich, Ecma International
Utviklet avBrendan Eich
Typetildeling dynamisk, svak
Filendelse(r).es
Påvirket av
Self, HyperTalk, Awk, C, CoffeeScript, Perl, Python, Java, Scheme

ECMAScript brukes vanligvis til klientside-skripting på World Wide Web, og i stadig større grad også til serverside-applikasjoner gjennom Node.js-plattformen. Blant andre implantasjoner av ECMAScript finnes JScript og ActionScript.

Utgaver rediger

Det er publisert sju utgaver av ECMA-262. Sjuendeutgaven av standarden ble sluttført i juni 2016.[2]

Utgave Publikasjonsdato Endringer fra forrige utgave
1 juni 1997 Første utgave av standarden.
2 juni 1998 Redaksjonelle endringer for å justere ECMAScript-standarden med den internasjonale standarden ISO/IEC 16262.
3 desember 1999 Støtte for regulære uttrykk, bedre strenghåndtering, nye kontrolluttrykk, feilhåndtering med try/catch, bedre formatering av numeriske data.
4 (aldri publisert) Den fjerde utgaven av ECMAScript-standarden ble aldri ferdigstilt, på grunn av filosofiske uenigheter rundt kompleksiteten i språket. Mange av de foreslåtte tilleggene til standarden i fjerdeutgaven ble lagt døde for godt, men enkelte har senere kommet tilbake i senere utgaver.
5 desember 2009 La til «strict mode» ('use strict'), en delmengde av språket der man har utelatt mange språk-konstruksjoner som ofte leder til feil. Femte utgave oppklarer også en del uklarheter i tredje utgave, og tok enkelte elementer fra ikke-standard-implementasjoner inn i den offisielle standarden. Det ble også lagt til støtte for getter- og setter-metoder, støtte for JSON i standardbiblioteket, og forbedret støtte for reflection.[3]
5.1 juni 2011 Utgaven med betegnelse 5.1 sørget for å tilpasse ECMAScript i samsvar med tredje utgave av den internasjonale standarden ISO/IEC 16262:2011.
6 juni 2015[4] Sjette utgave var opprinnelig kjent som ECMAScript 6 (ES6), men fikk senere navnet ECMAScript 2015 (ES2015).[4] Dette var en større reform av standarden, med støtte for konstruksjoner som forenkler større og mer komplekse applikasjoner skrevet i ECMAScript. Her kom det støtte for klasser og moduler, samt blant annet iteratorer og for/of-løkker. Det kom også støtte for «fat arrow»-funksjoner, typesjekking i arrayer, og støtte for asynkron programmering igjennom promises.
7 juni 2016[2] Den sjuende utgaven, også kjent som ECMAScript 2016,[2] fortsetter reformen som ble påbegynt med ECMAScript 2015. Her kom en ny **-operator for eksponentialuttrykk og metoden Array.prototype.includes. Med ECMAScript 2016 fikk man også en ny prosess der man lanserer en ny utgave av standarden mye oftere (én gang i året), og kun tar med nye ting hvis det finnes to faktiske implementasjoner av forslaget ute i industrien.[5]
8 En liste med tillegg som er forventet å bli en del av standarden i 2017 vedlikeholdes av Ecma Internationals tekniske komité 39 på GitHub. Her finnes blant annet async function/await.[6]

Referanser rediger

  1. ^ Stefanov, Stoyan (2010). JavaScript Patterns. O'Reilly Media, Inc. s. 5. ISBN 9781449396947. Besøkt 12. januar 2016. «The core JavaScript programming language [...] is based on the ECMAScript standard, or ES for short.» 
  2. ^ a b c d «Standard ECMA-262 : ECMAScript® 2016 Language Specification». Ecma International. juni 2016. Besøkt 19. mars 2017. 
  3. ^ Miller, Mark S; Horwat, Waldemar og Samuel, Mike (18. mai 2009). «Changes to JavaScript, Part 1: EcmaScript 5». Google Tech Talks. Besøkt 31. oktober 2013. 
  4. ^ a b «Standard ECMA-262 : 6th Edition / June 2015 : ECMAScript® 2015 Language Specification». Ecma International. juni 2015. Besøkt 19. mars 2017. 
  5. ^ Rauschmayer, Axel (30. januar 2016). «The final feature set of ECMAScript 2016 (ES7)». Besøkt 19. mars 2017. 
  6. ^ Ecma International, Technical Committee 39. «Finished Proposals». Besøkt 19. mars 2017.