Ambito di blocco - let e const
Lezione 3 di 9 del corso Gli aspetti più complessi di JavaScript moderno (ES6+) di Coddy.
Che cos'è lambito di blocco? E ancora prima, che cos'è lambito di una variabile?
L'ambito di una variabile non è altro che l'area in cui la variabile data è accessibile, cioè possiamo usare la variabile solo all'interno del suo ambito.
Prima di ES6, le variabili venivano dichiarate con la parola chiave var. Tali variabili avevano solo ambito globale e ambito di funzione (locale).
In ES6, possiamo dichiarare variabili usando le parole chiave let e const, che hanno ambito di blocco.
Un blocco non è altro che un'area racchiusa tra una coppia di parentesi graffe di apertura e chiusura, all'interno della quale possiamo scrivere codice JS, ad es. { // any code }.
{
let x = 2;
}
// x NON può essere usata qui
// perché x non è accessibile al di fuori del blocco precedenteLo stesso vale per const, poiché anche questa ha ambito di blocco.
Le variabili dichiarate con
constdevono essere inizializzate e non possiamo modificarle/assegnare un nuovo valore dopo la prima inizializzazione!
const pi = 3.14;
pi = 4.2 // Errore, assegnazione non valida a const
Come accennato in precedenza, var non ha ambito di blocco, ma ha un ambito globale/di funzione.
{
var x = 2;
}
// x PUÒ essere usato qui, poiché x ha ambito globale
Alcuni punti importanti:
- Le variabili definite con
let/constnon possono essere dichiarate nuovamente. - Le variabili definite con
let/constdevono essere dichiarate prima dell'uso. - Le variabili definite con
let/constnon possono essere sollevate.
Sfida
FacileCrea due variabili all'interno della funzione data: name = "Coddy" usando let, age = 25 usando const. stampa questi valori usando console.log().
Provalo tu
function getInfo() {
// Scrivi il codice qui
}Tutte le lezioni di Gli aspetti più complessi di JavaScript moderno (ES6+)
2Immergiamoci
Ambito di blocco - let e constFunzioni frecciaSpread e RestCiclo for...ofClassiPromisesAsync e AwaitEsercitati da solo: Compilatore JavaScript online