Acabo de escuchar acerca de los métodos de JavaScript freeze
y seal
, que se pueden usar para hacer que cualquier Objeto sea inmutable.
Aquí hay un breve ejemplo de cómo usarlo:
var o1 = {}, o2 = {};
Object.freeze(o2);
o1["a"] = "worked";
o2["a"] = "worked";
alert(o1["a"]); //prints "worked"
alert(o2["a"]); //prints "undefined"
¿Cuál es la diferencia entre freeze
y seal
? ¿Pueden aumentar el rendimiento?
Object.preventExtensions
además de Object.seal
y Object.freeze
. Object.preventExtensions
solo evita que se agreguen nuevos elementos a un objeto. Puede eliminar, configurar y cambiar los valores de las propiedades en los objetos que tenían su extensibilidad desactivada Object.preventExtensions
.