JavaScript Object.freeze ()

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

Et frossent objekt kan ikke lenger endres. Å fryse et objekt forhindrer:

  • Nye egenskaper blir lagt til objektet.
  • Eksisterende egenskaper som skal fjernes fra objektet.
  • Endring av nummerering, konfigurerbarhet eller skrivbarhet for eksisterende eiendommer.
  • Endring av verdier for eksisterende objektegenskaper og prototype.

Syntaksen til freeze()metoden er:

 Object.freeze(obj)

Den freeze()metoden, å være en statisk metode, kalles med Objectnavn klassen.

freeze () Parametere

Den freeze()metoden tar i:

  • obj - Objektet å fryse.

Returverdi fra fryse ()

  • Objektet som ble overført til funksjonen.

Merknader :

  • Ethvert forsøk på å legge til eller fjerne fra egenskaper sett med frosne objekter vil mislykkes enten stille eller kaste TypeError(hovedsakelig i streng modus).
  • Objekter forseglet med Object.seal()kan få endret deres eksisterende egenskaper samtidig som Object.freeze()de eksisterende eiendommene blir uforanderlige.

Eksempel: Bruke fryse ()

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

Produksjon

 true true bar udefinert

Merk : Object.freeze(obj)gjelder bare de umiddelbare egenskapene til obj. Hvis verdien av disse egenskapene er objekter i seg selv, er disse objektene ikke frossen og kan være målet for tilsetning, fjerning eller verditildeling av eiendom.

Anbefalt lesing: JavaScript-objektforsegling ()

Interessante artikler...