Ambiti
Scorri per mostrare il menu
Uno Scope è semplicemente un'area del codice in cui una variabile può essere accessibile o utilizzata.
Esistono due tipi di scope:
- Scope globale;
- Scope locale.
Se una variabile è definita all'interno di un blocco di codice (tra parentesi graffe {}), si dice che ha uno scope locale. Questo significa che può essere accessibile solo all'interno di quella funzione o blocco di codice, o in eventuali blocchi annidati:
123456789101112function exampleFunc() { let exampleVariable = 10; console.log(exampleVariable); // Valid if(10 + 10 == 20) { console.log(exampleVariable); // Valid } } exampleFunc(); console.log(exampleVariable); // Shows error
Una variabile definita al di fuori di qualsiasi blocco di codice si dice abbia uno Scope Globale e può essere accessibile da qualsiasi punto:
123456789101112let exampleVariable = 10; function exampleFunc() { console.log(exampleVariable); // Valid if(10 + 10 == 20) { console.log(exampleVariable); // Valid } } exampleFunc(); console.log(exampleVariable); // Valid
Una variabile definita in uno scope inferiore (annidato) non può essere accessibile da uno scope superiore (genitore):
function exampleFunc() {
if (10 + 10 == 20) {
let exampleVariable = 10;
console.log(exampleVariable);
// Output: 10
// The variable is defined in this block, so it is accessible here
}
console.log(exampleVariable);
// ReferenceError: exampleVariable is not defined
// The variable was defined inside the if-block and is not accessible outside it
}
exampleFunc();
console.log(exampleVariable);
// This line will never execute because the script stops after the first ReferenceError
Questo esempio contiene errori intenzionali per illustrare il funzionamento dell'ambito delle variabili. L'esecuzione del codice si interromperebbe dopo il primo errore, quindi il frammento è mostrato solo a scopo esplicativo.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione