Acabei de ouvir falar dos métodos JavaScript freezee seal, que podem ser usados para tornar qualquer objeto imutável.
Aqui está um pequeno exemplo de como usá-lo:
var o1 = {}, o2 = {};
Object.freeze(o2);
o1["a"] = "worked";
o2["a"] = "worked";
alert(o1["a"]); //prints "worked"
alert(o2["a"]); //prints "undefined"
Qual é a diferença entre freezee seal? Eles podem aumentar o desempenho?
Object.preventExtensionsalém de Object.seale Object.freeze. Object.preventExtensionsapenas impede que novos itens sejam adicionados a um objeto. Você pode excluir, configurar e alterar os valores das propriedades em objetos com a extensibilidade desativada Object.preventExtensions.

