L’hoisting delle costanti in JavaScript

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:

    const MY_CONST; // => SyntaxError: Missing initializer in const declaration

    MY_CONST = 1;
    console.log(MY_CONST);

Allo stesso modo non è possibile ridefinirle:

    const MY_CONST = 1;
    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

    console.log(MY_CONST); // => ReferenceError: MY_CONST is not defined
    const MY_CONST = 1;

Le costanti sono applicate in cima al blocco con l’hoisting, di conseguenza avremo che:

    const MY_CONST = 1;
    if(true) {
        const MY_CONST = 2;
        console.log(MY_CONST); // => 2
    }
    console.log(MY_CONST); // => 1

Indice:

Pubblicato in Front-end, JavaScript Taggato con: , , ,

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

*