Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Ambiti | Padronanza delle Funzioni
Introduzione a JavaScript

bookAmbiti

Scorri per mostrare il menu

Note
Definizione

Uno Scope è semplicemente un'area del codice in cui una variabile può essere accessibile o utilizzata.

Esistono due tipi di scope:

  1. Scope globale;
  2. 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:

123456789101112
function exampleFunc() { let exampleVariable = 10; console.log(exampleVariable); // Valid if(10 + 10 == 20) { console.log(exampleVariable); // Valid } } exampleFunc(); console.log(exampleVariable); // Shows error
copy

Una variabile definita al di fuori di qualsiasi blocco di codice si dice abbia uno Scope Globale e può essere accessibile da qualsiasi punto:

123456789101112
let exampleVariable = 10; function exampleFunc() { console.log(exampleVariable); // Valid if(10 + 10 == 20) { console.log(exampleVariable); // Valid } } exampleFunc(); console.log(exampleVariable); // Valid
copy

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
Note
Nota

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.

question mark

Quale delle seguenti affermazioni sull'ambito delle variabili è vera?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 4

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 4. Capitolo 4
some-alt