Hopp til innhold

JavaScript

Fra Wikipedia, den frie encyklopedi
Sideversjon per 21. mar. 2017 kl. 02:03 av Kjetil r (diskusjon | bidrag) (fikser ref.)

JavaScript er et høynivå-programmeringsspråk. Sammen med HTML og CSS er det en av grunnsteinene i moderne web-utvikling, og alle moderne nettlesere kan kjøre JavaScript-programmer uten utvidelser. Språket kan brukes både til komplekse webapplikasjoner og som et enklere skriptspråk. JavaScript er standardisert igjennom spesifikasjonen kjent som ECMAScript.

JavaScript er et tolket språk, med støtte for både prototypebasert objektorientering og funksjonell programmering. Språket er kjent for å ha førsteklasses funksjoner, samt dynamiske datatyper som implisitt konverteres under kjøring.

Språket var opprinnelig designet for bruk på web, men siden slutten av 2000-tallet har JavaScript også i stadig større grad blitt brukt som serverside-språk, blant annet igjennom Node.js-plattformen.

Historie

Begynnelsen

Den første utgaven av JavaScript ble utviklet i 1995 av programmereren Brendan Eich, som da jobbet hos Netscape. Det første kodenavnet på det nye språket var Mocha, etter det var språket en liten periode kjent som LiveScript, før det kjapt fikk navnet JavaScript. Dette navnet spiller på programmeringsspråket Java, men er på mange måter forvirrende, siden Java og JavaScript har lite annet enn en viss overlapp i syntaks til felles. JavaScript har derimot mer til felles med de eldre programmeringsspråkene Self og Scheme, og Eich brukte programmeringsparadigmer fra disse da han designet JavaScript.[1] Det var imidlertid et krav fra ledelsen i selskapet at det nye språket skulle «se ut som Java», og Eich fulgte opp dette på tross av at «hovedingrediensene» i det nye språket var hentet fra Self og Scheme.[2]

Netscape sendte språket til Ecma International for standardisering i november 1996, og den første offisielle spesifikasjonen var kjent som ECMA-26. Denne var for alle praktiske formål det samme som datidens JavaScript. Senere har det blitt slik at den offisielle standarden – kjent som ECMAScript – definerer selve språket, mens JavaScript er en implementasjon av ECMAScript. Forskjellen er likevel mest akademisk, og i dagligtalen brukes de to begrepene om hverandre.[1]

Interaktive nettsider igjennom Ajax

Microsoft kom i 2000 med Ajax-teknologi i sin Internet Explorer, og i tiden som fulgte fikk alle andre nettlesere støtte for dette. I løpet av få år ble JavaScript modent nok til å lage dynamiske og fullstendige webapplikasjoner, der Gmail i 2004 ble det store gjennombruddet. Tidligere var det nødvendig å sende data frem og tilbake mellom nettleseren og serveren, der nettsiden måtte lastes på nytt for hver gang. Den type nettsteder som ble popularisert igjennom Gmail og var basert på Ajax-arkitekturen ble kjent som «enkeltside-applikasjoner» (engelsk single-page applications), og kom for alltid til å forandre hvordan dynamiske nettapplikasjoner ble utviklet.[3]

Node.js: JavaScript til serverside-bruk

«JavaScript-revolusjonen» som var blitt satt i gang med Ajax hadde ført til at de ulike nettleserne stadig fikk bedre JavaScript-motorer. Spesielt var V8-motoren til Google Chrome rask, og i 2009 tilpasset programmereren Ryan Dahl denne slik at den også kunne brukes på servere. Dette ble startskuddet til Node.js, som populariserte serverbruk av JavaScript til I/O-intensive applikasjoner.[4]

Moderne ECMAScript-utgaver

Pr. mars 2017 finnes det sju utgaver av ECMAScript, med ECMAScript 2016 som den nyeste. De siste gjennomgripende JavaScript-endringene kom i juni 2015, med ECMAScript-standarden kjent som ES6.[5] Det tar imidlertid tid for nettleser-leverandører å implementere støtte for de seneste versjonene, og ES6 og ECMAScript 2016 er dermed i liten grad tatt i bruk for web-formål. Det er femteutgaven ES5 (publisert i juni 2011) som fortsatt fungerer som et slags lingua franca på webben.[1]

Syntaks

JavaScript har hentet mye av sin syntax fra 'C'-lignende språk, men det er allikevel noen store forskjeller.

Variabler

JavaScript er dynamisk typet, som vil si at datatypen ikke oppgis under deklarering av en variabel (slik som C eller Java). Datatypen ligger implisitt i verdien som variabelen får.

x = 23; // tilordner heltallet 23 til x.
console.log(x); // skriver ut 23 

x = "Hei verden!"; // tilordner ny verdi : Hei verden! med datatypen tekststreng.
console.log(x) // skriver ut: Hei verden!

Referanser

  1. ^ a b c Brown (2016), kapittelet «A Brief History of JavaScript».
  2. ^ Eich, Brendan (3. april 2008). «Popularity». mozillazine.org. Arkivert fra originalen 24. mars 2009. Besøkt 20. mars 2017. 
  3. ^ Elliott (2014), kapittelet «The JavaScript Revolution».
  4. ^ Wandschneider (2016), kapittelet «Introduction».
  5. ^ Brown (2016), kapittelet «ES6».

Anvendt litteratur

  • Brown, Ethan (2016). Learning JavaScript (3 utg.). O'Reilly Media. ISBN 9781491914915. 
  • Elliott, Eric (2014). Programming JavaScript Applications. O'Reilly Media. ISBN 9781491950296. 
  • Wandschneider, Marc (2016). Learning Node.js (2 utg.). Addison-Wesley Professional. ISBN 9780134663715. 

Eksterne lenker