Я только что услышал о методах JavaScript freezeи seal, которые можно использовать для того, чтобы сделать любой объект неизменным.
Вот короткий пример, как его использовать:
var o1 = {}, o2 = {};
Object.freeze(o2);
o1["a"] = "worked";
o2["a"] = "worked";
alert(o1["a"]); //prints "worked"
alert(o2["a"]); //prints "undefined"
В чем разница между freezeи seal? Могут ли они повысить производительность?
Object.preventExtensionsв дополнение к Object.sealи Object.freeze. Object.preventExtensionsпросто предотвращает добавление новых предметов к объекту. Вы можете удалять, настраивать и изменять значения свойств объектов, у которых отключена расширяемость Object.preventExtensions.

