Właśnie usłyszałem o metodach JavaScript freeze
i seal
, które można wykorzystać do uczynienia dowolnego obiektu niezmiennym.
Oto krótki przykład, jak go używać:
var o1 = {}, o2 = {};
Object.freeze(o2);
o1["a"] = "worked";
o2["a"] = "worked";
alert(o1["a"]); //prints "worked"
alert(o2["a"]); //prints "undefined"
Jaka jest różnica między freeze
i seal
? Czy mogą zwiększyć wydajność?
Object.preventExtensions
oprócz Object.seal
i Object.freeze
. Object.preventExtensions
po prostu zapobiega dodawaniu nowych elementów do obiektu. Możesz usuwać, konfigurować i zmieniać wartości właściwości obiektów, dla których wyłączono ich rozszerzalność za pomocą Object.preventExtensions
.