JavaScript Object.freeze ()

JavaScript Object.freeze () -metoden fryser ett objekt.

Ett fruset objekt kan inte längre ändras. Frysning av ett objekt förhindrar:

  • Nya egenskaper läggs till i objektet.
  • Befintliga egenskaper som ska tas bort från objektet.
  • Ändra befintliga fastigheters uppräkning, konfigurerbarhet eller skrivbarhet.
  • Ändra värden på befintliga objektegenskaper och prototyp.

Syntaxen för freeze()metoden är:

 Object.freeze(obj)

Den freeze()metod, som är en statisk metod, kallas med hjälp av Objectklassnamnet.

frysa () Parametrar

Den freeze()metod tar in:

  • obj - Objektet att frysa.

Returvärde från frysning ()

  • Objektet som skickades till funktionen.

Anmärkningar :

  • Alla försök att lägga till eller ta bort från egenskaper uppsättning av frysta objekt misslyckas antingen tyst eller kastar TypeError(oftast i strikt läge).
  • Objekt förseglade med Object.seal()kan ändra deras befintliga egenskaper samtidigt som Object.freeze()de befintliga egenskaperna ändras.

Exempel: Använda frysa ()

 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 ))

Produktion

 true true bar odefinierad

Obs : Object.freeze(obj)gäller endast de omedelbara egenskaperna för obj. Om värdet på dessa egenskaper är objekt i sig är dessa objekt inte frusna och kan vara målet för tillägg, borttagning eller omfördelning av fastigheter.

Rekommenderad läsning: JavaScript-objektförsegling ()

Intressanta artiklar...