Parliamo

project-cherry.dev

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 riassegnabile

Regola 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.