Introduzione
Una dichiarazione di variabile sta semplicemente dicendo al computer che esiste una variabile e con quale valore dovrebbe iniziare. Simile ad altri linguaggi di programmazione JavaScript consente anche la dichiarazione di variabili.
Esistono tre parole chiave in JavaScript che possono essere utilizzate per dichiarare le variabili: let, var e const. Ogni parola chiave ha regole e implicazioni diverse su come possono essere utilizzate le variabili che creano.
- let: la parola chiave let dichiara una variabile locale con ambito di blocco, facoltativamente inizializzandola su un valore. Con ambito a blocchi significa che la variabile è disponibile solo all'interno del blocco in cui è stata dichiarata, che di solito è denotata da parentesi graffe {}.
- var: la parola chiave var dichiara una variabile globale o con ambito funzione, facoltativamente inizializzandola su un valore. Con ambito funzione significa che la variabile è disponibile solo all'interno della funzione in cui è stata dichiarata. Le variabili globali sono disponibili nell'intero codice.
- const: la parola chiave const dichiara una variabile costante immutabile con ambito di blocco, ovvero una variabile che non può essere riassegnata. Le costanti sono anche chiamate "variabili immutabili", ma è un termine improprio poiché in realtà sono variabili, solo quelle che non possono essere riassegnate.
Qual è la differenza tra var, let e const?
La parola chiave var è il modo più antico per dichiarare variabili in JavaScript ed è supportata da tutti i browser. Le parole chiave let e const sono aggiunte più recenti alla lingua e non sono supportate dai browser meno recenti.
Se devi supportare browser meno recenti, puoi usare var invece di let o const. Se non è necessario supportare i browser meno recenti, è possibile utilizzare let o const. Se vuoi che la tua variabile sia immutabile, usa const.
Ecco alcuni esempi:
var x = 1;
let y = 2;
const z = 3;
x = 4; //OK
y = 5; //OK
z = 6; //Error
Come puoi vedere, le variabili var e let possono essere riassegnate, ma le variabili const no.
Un'altra differenza tra var e let/const è che le variabili var hanno l'ambito della funzione, mentre le variabili let e const hanno l'ambito del blocco.
Ciò significa che le variabili var sono disponibili solo all'interno della funzione in cui sono state dichiarate. Ad esempio:
function foo() {
var x = 1;
}
foo();
console.log(x); // ReferenceError: x is not defined
D'altra parte, le variabili let e const sono disponibili solo all'interno del blocco in cui sono state dichiarate. Ad esempio:
function foo() {
let y = 2;
const z = 3;
}
foo();
console.log(y); // ReferenceError: y is not defined
console.log(z); // ReferenceError: z is not defined
Quindi, per riassumere, le principali differenze tra var, let e const sono:
- var ha l'ambito della funzione mentre let e const hanno l'ambito del blocco.
- Le variabili var possono essere riassegnate mentre le variabili let e const no.
- Le variabili var vengono dichiarate utilizzando la parola chiave var mentre le variabili let e const vengono dichiarate utilizzando rispettivamente le parole chiave let e const.
- le variabili const sono immutabili mentre le variabili let e var non lo sono.
Conclusione
In questo tutorial abbiamo visto qual è la differenza tra var, let e const in JavaScript.