Ho appena sentito parlare dei metodi JavaScript freeze
e seal
, che possono essere utilizzati per rendere immutabile qualsiasi oggetto.
Ecco un breve esempio su come usarlo:
var o1 = {}, o2 = {};
Object.freeze(o2);
o1["a"] = "worked";
o2["a"] = "worked";
alert(o1["a"]); //prints "worked"
alert(o2["a"]); //prints "undefined"
Qual è la differenza tra freeze
e seal
? Possono aumentare le prestazioni?
Object.preventExtensions
in aggiunta a Object.seal
e Object.freeze
. Object.preventExtensions
impedisce solo che nuovi oggetti vengano aggiunti a un oggetto. È possibile eliminare, configurare e modificare i valori delle proprietà sugli oggetti per i quali è stata disattivata la loro estensibilità Object.preventExtensions
.