0Pricing
JavaScript Academy · Lezione

Scope di blocco, funzione e modulo e TDZ

Comprenda lo scope di blocco, funzione e modulo; osservi la TDZ in azione ed eviti la fuoriuscita delle variabili.

Scope di blocco, funzione e modulo e TDZ è una lezione JavaScript Academy gratuita su CoddyKit. Questa è la lezione 2 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento JavaScript Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso JavaScript Academy include 3 lezioni in totale.

Introduzione

Obiettivo: sapere dove risiedono le variabili e quando è possibile utilizzarle.

  • Scope di blocco (let/const)
  • Scope di funzione (var)
  • Scope del modulo
  • Sicurezza con la TDZ
Scope di blocco, funzione e modulo e TDZ — illustrazione 1

Esempio di scope di blocco

Lo scope di blocco mantiene le variabili locali a una coppia di parentesi graffe.

// Block scope: let/const exist only inside the braces
let lives = 3;

if (true) {
  const bonus = 5;
  let level = 1;
  console.log("Inside block:", bonus, level);
}

console.log("Lives:", lives);
// Uncommenting next line would fail (not in scope):
// console.log(bonus, level);
Scope di blocco, funzione e modulo e TDZ — illustrazione 2

Scope di funzione con var

var ha scope di funzione, non di blocco. In JS moderno, preferisca let/const.

// Function scope: var is visible across the whole function
function demo() {
  if (true) {
    var x = 10; // function-scoped
  }
  console.log("x is visible here:", x); // 10
}
demo();
Scope di blocco, funzione e modulo e TDZ — illustrazione 3

Nozioni di base sullo scope del modulo

Scope del modulo: le associazioni al livello superiore sono locali al file (moduli ES).

// Module scope: top-level variables are local to the module file
const appName = "CoddyKit";
console.log("App name:", appName);

// In a real project, this would be its own file/module.
// Other files must import to access appName.
Scope di blocco, funzione e modulo e TDZ — illustrazione 4

Temporal Dead Zone

TDZ impedisce le letture accidentali anticipate. Dichiari prima di usare.

// TDZ: using let/const before declaration throws ReferenceError
try {
  // Uncommenting would trigger TDZ:
  // console.log(mode); // ReferenceError
  let mode = "dark";
  console.log("Mode after declare:", mode);
} catch (e) {
  console.log("Caught:", e.message);
}
Scope di blocco, funzione e modulo e TDZ — illustrazione 5

Problemi dello scope

Problemi comuni:

  • Non mescoli var con let/const nello stesso scope.
  • Dichiari le variabili vicino al loro utilizzo.
  • Eviti di leggere i valori prima della riga della dichiarazione (TDZ).
Scope di blocco, funzione e modulo e TDZ — illustrazione 6

Quiz sulla TDZ

Verifica rapida: comportamento della TDZ.

Scope di blocco, funzione e modulo e TDZ — illustrazione 7

Riepilogo

Riepilogo: let/const hanno scope di blocco; var ha scope di funzione; i moduli hanno un proprio scope di file; la TDZ impedisce l'accesso anticipato.

Scope di blocco, funzione e modulo e TDZ — illustrazione 8

Domande Frequenti

La lezione «Scope di blocco, funzione e modulo e TDZ» è gratuita?

Sì — il testo completo di «Scope di blocco, funzione e modulo e TDZ» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso JavaScript Academy, passa a CoddyKit PRO. Il corso JavaScript Academy include 3 lezioni in totale.

Cosa imparerò in «Scope di blocco, funzione e modulo e TDZ»?

Comprenda lo scope di blocco, funzione e modulo; osservi la TDZ in azione ed eviti la fuoriuscita delle variabili. Eserciti JavaScript Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare JavaScript Academy?

Non è richiesta alcuna esperienza precedente. JavaScript Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 3.

Quanto tempo richiede la lezione «Scope di blocco, funzione e modulo e TDZ»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione JavaScript Academy?

Sì. Ogni lezione JavaScript Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. let, const ed evitare var
  2. Scope di blocco, funzione e modulo e TDZ
  3. Nomi, leggibilità e problemi comuni
← Torna a JavaScript Academy