Mitä eroa on JavaScriptin muuttujilla: var, let ja const?
KoodaaminenVAR
- 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
- 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
- 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.
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.
Kommentit