Junior
Cos'è la portata (scope) delle variabili in JavaScript?
sobes.tech AI
Risposta dell'AI
L'ambito definisce la disponibilità di variabili, funzioni e oggetti in una parte specifica del codice.
In JavaScript, ci sono diversi tipi di ambito:
- Ambito globale (Global Scope): Le variabili dichiarate fuori da qualsiasi funzione o blocco sono accessibili da qualsiasi punto del codice.
- Ambito di funzione (Function Scope): Le variabili dichiarate all'interno di una funzione (prima di ES6) sono accessibili solo all'interno di quella funzione e delle funzioni annidate.
- Ambito di blocco (Block Scope): Le variabili dichiarate con
leteconstall'interno di blocchi (ad esempio,{}o cicli) sono accessibili solo all'interno di quel blocco.
Esempio:
// Ambito globale
let globalVar = "Sono globale";
function someFunction() {
// Ambito di funzione (prima di ES6)
var functionVar = "Sono dentro la funzione";
console.log(globalVar); // Variabile globale accessibile
if (true) {
// Ambito di blocco (per let e const)
let blockVar = "Sono dentro il blocco";
console.log(functionVar); // Variabile di funzione accessibile
console.log(blockVar); // Variabile di blocco accessibile
}
// console.log(blockVar); // Errore: blockVar non accessibile qui
}
someFunction();
// console.log(functionVar); // Errore: functionVar non accessibile qui
Parole chiave per dichiarare variabili e il loro impatto sull'ambito:
| Parola chiave | Ambito prima di ES6 | Ambito dopo ES6 |
|---|---|---|
var |
Funzionale | Funzionale |
let |
- | Di blocco |
const |
- | Di blocco |
Comprendere l'ambito è fondamentale per evitare conflitti di nomi di variabili e scrivere codice pulito e prevedibile.