Fondamenta8 min
Variabili e Scope
Come dichiarare variabili con let, const e var, e come funziona lo scope in JavaScript.
Variabili e Scope
In JavaScript esistono tre modi per dichiarare una variabile: var, let e const. Capire le differenze è fondamentale per scrivere codice prevedibile e privo di bug.
Dichiarare variabili
javascript
var nome = "Marco"; // scoping a funzione, evitare
let eta = 30; // scoping a blocco, riassegnabile
const citta = "Roma"; // scoping a blocco, non riassegnabileRegola pratica: usa sempre const come default. Passa a let solo se devi riassegnare il valore. Non usare mai var nel codice moderno.
Lo scope
Lo scope determina dove una variabile è accessibile. JavaScript ha tre livelli di scope:
- ●Globale — visibile ovunque nel programma
- ●Di funzione — visibile solo dentro la funzione
- ●Di blocco — visibile solo dentro le parentesi graffe
{}
javascript
const globale = "visibile ovunque";
function esempio() {
const locale = "solo qui dentro";
if (true) {
const blocco = "solo in questo if";
console.log(globale); // funziona
console.log(locale); // funziona
}
// console.log(blocco); // Errore! Non accessibile
}Hoisting
Con var la dichiarazione viene "sollevata" in cima alla funzione, ma non il valore. Con let e const esiste una temporal dead zone — non puoi usarle prima della dichiarazione.