0
Mitä eroa on JavaScriptin muuttujilla

Olli Perikanta

Julkaistu 5.1.2024

Mitä eroa on JavaScriptin muuttujilla: var, let ja const?

  • var oli ensimmäinen tapa määritellä muuttujia ennen kuin let ja const lisättiin ECMAScript 6 -standardiin.
  • var on funktion laajuinen (function-scoped), mikä tarkoittaa, että se on näkyvissä vain sen funktion sisällä, jossa se on määritelty.
  • var -muuttujia voi myös nostaa (”hoist”) funktion alkuun, mikä tarkoittaa, että voit käyttää niitä ennen niiden määrittelyä.

Esimerkki:

function example() {
    console.log(x); // undefined
    var x = 5;
    console.log(x); // 5
}
  • let on lohko laajuinen (block-scoped), eli se on näkyvissä vain sen lohkon sisällä, jossa se on määritelty (esimerkiksi if-lauseessa tai silmukassa).
  • let ei nosteta (”hoisteta”) lohkon alkuun, ja se on olemassa vain sen jälkeen, kun se on määritelty.

Esimerkki:

if (true) {
    let y = 10;
    console.log(y); // 10
}
console.log(y); // Error: y is not defined
  • const toimii samalla tavalla kuin let, mutta sitä käytetään määriteltäessä muuttujia, joiden arvo ei tule muuttumaan. Kuten nimestä voi päätellä, se viittaa ”vakioon”.
  • const -muuttujan arvo ei voi muuttua sen määrittelyn jälkeen.

Esimerkki:

const z = 15;
console.log(z); // 15
// Virhe, koska const-muuttujan arvoa ei voi muuttaa.
z = 20; // TypeError: Assignment to constant variable.
Senior Frontend kehittäjä, joka on erikoistunut WordPressin koodaamiseen ja räätälöityjen ratkaisujen tekemiseen.

Kommentit

Näyttää siltä, että sinulla on mahdollisuus olla ensimmäinen kommentoija! Jäikö jotain kysyttävää artikkelista tai haluatko antaa palautetta? Jätä kommentti ja aloita kekustelu.

Jätä kommentti

Kommenttikäytäntö: Kommentointi on tervetullutta ja arvostamme aikaa, jonka lukijat käyttävät ideoiden jakamiseen ja palautteen antamiseen. Kaikki kommentit kuitenkin valvotaan manuaalisesti ja roskapostiksi tai yksinomaan myynninedistämistarkoituksessa pidetyt kommentit poistetaan.