Le costanti non sfruttano l’hoisting, per poterle utilizzare bisogna prima dichiararle e poi utilizzarle per non generare errori
In JavaScript è possibile creare ed utilizzare costanti all’interno del blocco scope. Le costanti devono essere dichiarare, inizializzate e assegnate nello stesso momento altrimenti verrebbe generato un errore:
MY_CONST = 1;
console.log(MY_CONST);
Allo stesso modo non è possibile ridefinirle:
MY_CONST = 2; // => TypeError: Assignment to constant variable.
Le costanti const non possono essere lette fin quando non si esce dalla temporal dead zone. Per maggiori informazioni sul ciclo di vita delle costanti: Il ciclo di vita di let, const e class in JavaScript
const MY_CONST = 1;
Le costanti sono applicate in cima al blocco con l’hoisting, di conseguenza avremo che:
if(true) {
const MY_CONST = 2;
console.log(MY_CONST); // => 2
}
console.log(MY_CONST); // => 1
Indice: