Fara í innihald

JavaScript

Úr Wikipediu, frjálsa alfræðiritinu
Útgáfa frá 21. júní 2019 kl. 15:35 eftir Snævar (spjall | framlög) (þýddi hluta af földu enskunni (með hjálp tos.sky.is), bætti við heimildunum af ensku wp, fjarlægði json setningu vegna tvítekningar.)
Athugið að Java er annað og óskylt forritunarmál.

JavaScript (eða Jövuskrift) er forritunarmál sem er oft notað á vefsíðum. Það er túlkað (ekki þarf að þýða það fyrirfram) og æðra (líkist meira hugsunum mannsins en þeim ferlum sem tölvan keyrir að lokum). Það má bæði nota til að keyra litlar skriftur og stór hugbúnaðarverkefni. Jövuskrift náði mikilli útbreiðslu þar sem það var eina forritunarmálið sem var hægt að nota til að búa til gagnvirkar vefsíður án þess að notandi þyrfti að hlaða niður aukalegum hugbúnaði fyrir vafrann sinn. Þess vegna er Jövuskriftar-kóði notaður á flestum stærri vefsíðum í dag, þar getur það hvort tveggja gert litla útreikninga og keyrt heilu tölvuleikina. Jövuskrift er í dag notuð til að skrifa vefsíður, netþjóna, skriftur, forrit, og smáforrit.

JavaScript er stutt af vöfrum en ekki eina forritunarmálið sem hægt er að nota fyrir þá. Bæði er hægt að nota WebAssembly sem nánast allir vafrar (þ.e. aðrir en Internet Explorer 11) styðja, beint en aðallega með því að nota önnur forritunarmál, s.s. C eða C++, sem þýðast yfir í það; en líka er hægt að nota önnur mál, s.s. TypeScript, sem þýðast yfir í JavaScript (og þar með hafa nákvæmlega sama stuðning í vöfrum), eða jafn vel öll þessi mál saman. Java var áður fyrr stutt vel í vöfrum, en ekki lengur, og þó svo að það eru líkindi milli Java og JavaScript eru það ólík og aðskilin mál sem hafa mjög mismunandi hönnun (þó bæði hlutbundin, er Java t.d. ekki byggt á prótótýpum).

Þó svo að Javascript og Java séu svipuð í heiti tungumálsins, málskipan og stöðluðum kóða, þá eru tungumálin óskyld og eru mismunandi í hönnun. Við hönnun JavaScript voru áhrifavaldarnir forritunartungumálin Self og Scheme.[1] Raðbundna formið JSON, sem er notað til að geyma gagnaskipanir í skrám og senda þær í gegnum netið, byggist á JavaScript.[2]

Ásamt HTML og CSS er JavaScript eitt af megin tækninni á bak við veraldarvefinn.[3] JavaScript virkjar gagnvirkar vefsíður og er ómissandi hluti vefforrita. Meirihluti vefsíðna nota það[4] og visælustu vafrarnir hafa sérstakar JavaScript vélar til að keyra kóðann.

Saga

Árið 1995 var Netscape Navigator langvinsælasti vafrinn, en hann skorti skriftumál til að gera síður gagnvirkar. Brendan Eich hannaði þá fyrstu útgáfuna af Jövuskrift á 10 dögum. Málfarsreglum Jövuskriftar svipar nokkuð til forritunarmálsins Jövu, en þó er enginn skyldleiki á milli þeirra. Bæði eiga nöfnin að vísa til tegundar kaffibaunar sem kemur frá indónesísku eyjunni Jövu.

Í dag eru nær allir vafrar eru með innbyggðan Jövuskriftar-túlk.

Jövuskrift var stöðluð árið 1997 undir heitinu ECMAScript sem er nú orið að ISO-staðli.

Dæmi

Prentun

Hægt er að láta upplýsingar birtast með eftirfarandi skipan:

console.log("Góðan dag!")

Hér þýðir console = mælitækjaborð, og log = að skrá.

Föll

Skrifa má föll (functions) svona:

function Meðaltal (fyrsta_tala, önnur_tala) {
  return (fyrsta_tala + önnur_tala) / 2
}

console.log( Meðaltal(5, 8) )

Hér tekur fallið „Meðaltal“ inn tvær mismunandi tölur, finnur summu þeirra og deilir svo í tvennt. Síðasta lína kóðans prentar svo út meðaltal fimm og átta, sem er sex og hálfur.

Fibonacci-runan

Hin fræga Fibonacci-runa (1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …) er fengin með því að summa saman tvær tölur og summa síðan síðustu töluna við nýju niðurstöðuna, og þannig endalaust áfram. Formleg stærðfræðileg skilgreining á rununni er fræg fyrir að vísa í sig sjálfa, hún lítur svona út:

Þessa skilgreiningu má setja upp í Jövuskrift:

/*
  Þetta er fall sem skilar þeirri Fibonacci-tölu sem er númer X.
*/
function Fibonacci(númer) {
  /*
    Ef beðið er um Fibonacci-tölu númer 0 eða 1, þá skilum við bara 0 eða 1
  */
  if (númer < 2) {
    return númer
  }
  /*
    En annars köllum við í fallið sjálft.
    Ef beðið er um Fibonacci-tölu nr. 11 getum við fundið hana með 
    að finna Fibonacci-tölur nr. 10 og 9 og summa þær saman.
    Þær tölur þurfa að fara sömu leið til að finna gildi sitt, 
    og þannig koll af kolli þangað til gildi tölunnar er fundið.
  */
  return Fibonacci(númer - 1) + Fibonacci(númer - 2)
}

/*
  Fibonacci-tala nr. 11 er talan 89, og ef við biðjum 
  fallið um að finna tölu nr. 11 fæst einmitt útkoman 89.
*/
console.log( Fibonacci(11) )

Heimildir

  1. „ECMAScript Language Overview“ (PDF). 23 október 2007. bls. 4. Afrit af upprunalegu (PDF) geymt þann 13 júlí 2010. Sótt 3 maí 2009.
  2. „Introducing JSON“. Sótt 25 maí 2019.
  3. Flanagan, David. JavaScript - The definitive guide (6. útgáfa). bls. 1. „JavaScript is part of the triad of technologies that all Web developers must learn: HTML to specify the content of web pages, CSS to specify the presentation of web pages and JavaScript to specify the behaviour of web pages.“
  4. „Usage Statistics of JavaScript for Websites, March 2018“. w3techs.com.