JavaScript: le costanti e la particolarità della parola chiave const

Come è già stato osservato, in JavaScript l'immutabilità di una costante riguarda unicamente la sua ridefinizione nello scope corrente.

In altre parole, un tentativo come:


'use strict';

const A = 1;
A = 2;

restituirà il TypeError Assignment to constant variable perché stiamo tentando di sovrascrivere l'intero valore di una costante.

Se invece abbiamo una costante come:


'use strict';

const B = { a: 1 };
B.a = 2;

otterremo:


> B
{ a: 2 }

Quindi le costanti in JavaScript sono mutabili ma non sovrascrivibili, a differenza di quanto accade in altri linguaggi con la parola chiave final che, ricordiamolo, attualmente in JavaScript non viene implementata ma è riservata per uso futuro.

Torna su