In JavaScript esiste un metodo specifico per rendere gli oggetti immutabili.
Il metodo Object.preventExtensions() impedisce a nuove proprietà di essere aggiunte all'oggetto (ossia, l'oggetto non può più essere esteso).
Sintassi:
Object.preventExtensions(obj)
Parametri:
obj | L'oggetto di cui si vuole bloccare l'estensibilità. |
---|
Esempio:
'use strict';
const obj = {
prop: 1
};
Object.preventExtensions(obj);
obj.prop2 = 2; // TypeError
Questo metodo, che compensa la mancanza di implementazione in JavaScript delle parole chiave final
,
rende di fatto obsoleti molti pattern JavaScript che emulavano questo comportamento.