ECMAScript

Fra Wikipedia, den frie encyklopedi
ECMAScript
Tilblivelsejuni 1997
ParadigmeMulti-paradigme: Funksjonell programmering, prototype-basert 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 (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 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 | rediger kilde]

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 | rediger kilde]

  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.