Objet JavaScript.freeze ()

La méthode JavaScript Object.freeze () fige un objet.

Un objet figé ne peut plus être modifié. Le gel d'un objet empêche:

  • Nouvelles propriétés ajoutées à l'objet.
  • Propriétés existantes à supprimer de l'objet.
  • Modification de l'énumérabilité, de la configurabilité ou de l'écriture des propriétés existantes.
  • Modification des valeurs des propriétés d'objet et du prototype existants.

La syntaxe de la freeze()méthode est:

 Object.freeze(obj)

La freeze()méthode, étant une méthode statique, est appelée en utilisant le Objectnom de la classe.

Paramètres freeze ()

La freeze()méthode prend en compte:

  • obj - L'objet à geler.

Valeur renvoyée par freeze ()

  • L'objet qui a été passé à la fonction.

Remarques :

  • Toute tentative d'ajout ou de suppression d'un ensemble de propriétés d'objets gelés échouera silencieusement ou sera rejetée TypeError(principalement en mode strict).
  • Les objets scellés avec Object.seal()peuvent voir leurs propriétés existantes modifiées tandis que Object.freeze()les propriétés existantes sont immuables.

Exemple: utilisation de freeze ()

 let obj = ( prop: function () (), foo: "bar", ); let o = Object.freeze(obj); console.log(o == obj); // True -> Returns the same object console.log(Object.isFrozen(obj)); // true // changes will fail silently obj.foo = "bar1"; console.log(obj.foo); // bar // does not add silently obj.new_foo = "bar"; console.log(obj.new_foo); // undefined // Following will also throw error // Object.setPrototypeOf(obj, ( x: 20 ))

Production

 vrai vrai bar non défini

Remarque : Object.freeze(obj)s'applique uniquement aux propriétés immédiates de obj. Si la valeur de ces propriétés sont des objets eux-mêmes, ces objets ne sont pas figés et peuvent être la cible d'opérations d'ajout, de suppression ou de réaffectation de valeur de propriété.

Lecture recommandée: Sceau d'objet JavaScript ()

Articles intéressants...