Je viens d'entendre parler des méthodes JavaScript freeze
et seal
, qui peuvent être utilisées pour rendre tout objet immuable.
Voici un petit exemple comment l'utiliser:
var o1 = {}, o2 = {};
Object.freeze(o2);
o1["a"] = "worked";
o2["a"] = "worked";
alert(o1["a"]); //prints "worked"
alert(o2["a"]); //prints "undefined"
Quelle est la différence entre freeze
et seal
? Peuvent-ils augmenter les performances?
Object.preventExtensions
en plus de Object.seal
et Object.freeze
. Object.preventExtensions
empêche simplement de nouveaux éléments d'être ajoutés à un objet. Vous pouvez supprimer, configurer et modifier les valeurs des propriétés d’objets dont l’extensibilité est désactivée avec Object.preventExtensions
.