Vanhassa JavaScriptissä muuttujat ilmoitetaan käyttämällä avainsanaa ’var’. ES6:ssa voit nyt määritellä muuttujia myös let– ja const-avainsanoilla. Kaikilla kolmella avainsanalla on samanlainen syntaksi muuttujien ilmoittamiseen ja alustamiseen, mutta ne eroavat toisistaan niiden laajuuden ja käytön suhteen. Tutustutaanpa näiden kolmen avainsanan välisiin eroihin.

var-avainsana

var’-avainsanalla on perinteinen muuttujien määrittelyn syntaksi. Vaihtoehtoisesti voit alustaa muuttujan jollakin arvolla. jos et alustaa muuttujaa var-lausekkeessa, sille annetaan automaattisesti JavaScript-arvo undefined.

1) Soveltamisala

2) Var-deklaraatioiden nostaminen

Huomaa, että var-avainsanalla var deklarisoidut muuttujat ovat nostamisen alaisia. Hoisting tarkoittaa sitä, että jos deklaroimme muuttujan (joka on ilmoitettu, mutta jota ei ole alustettu) funktion lopussa, runtime nostaa sen huipulle, eikä meille tule mitään virhettä, jos olisimme käyttäneet kyseistä muuttujaa ennen sen deklarointia.

Lue lisää: JavaScript Hoisting

3) Jos et käytä ’var’-avainsanaa

Javaskriptissa, jos et käytä var-avainsanaa muuttujan ilmoittamiseen (implisiittinen ilmoittaminen), niin muuttuja luodaan globaaliin alueeseen. esim.

for(index=0; index< array.length; index++){//index is in global scope //code}

Ylläoleva for-silmukka luo globaaliin alueeseen muuttujan index. Jos joku toinenkin sattuu käyttämään globaalia index-muuttujaa, olet juuri korvannut hänen muuttujansa.

Välttääksesi muuttujan globaalin laajuuden antamisen sinun on käytettävä var-avainsanaa muuttujan deklaraatiossa.

let-avainsana

let-avainsana on hyvin samankaltainen kuin var-avainsana – rajoittamalla laajuutta enemmän.

const-avainsana

  1. const deklaraatioon kuuluu muuttuja, jolla on vakioarvo. Se on periaatteessa muuttujan ilmoittaminen avainsanalla ’var’, jossa muuttujan arvo on vakio eikä sitä voi muuttaa.
  2. const noudattaa samoja rajausperiaatteita kuin avainsana let.
  3. jos tiedät, että muuttujaa, jonka olet ilmoittamassa, ei voi eikä saa siirtää uudelleen, ilmoita se const-avaimella, muussa tapauksessa käytä let-avainsanaa.

Syntaksi ja käyttö

const PI = "3.14";PI = 12;//Uncaught TypeError: Assignment to constant variable.

Vastaa

Sähköpostiosoitettasi ei julkaista.