JavaScript Object.freeze ()

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

Et frossent objekt kan ikke længere ændres. Frysning af et objekt forhindrer:

  • Der tilføjes nye egenskaber til objektet.
  • Eksisterende egenskaber, der skal fjernes fra objektet.
  • Ændring af tællbarhed, konfigurerbarhed eller skrivbarhed af eksisterende ejendomme.
  • Ændring af værdier for de eksisterende objektegenskaber og prototype.

Metodens syntaks freeze()er:

 Object.freeze(obj)

Den freeze()metode, som er en statisk metode, der kaldes ved hjælp af Objectnavnet klassen.

fryse () Parametre

Den freeze()metode tager i:

  • obj - Objektet at fryse.

Returneringsværdi fra fryse ()

  • Objektet, der blev sendt til funktionen.

Bemærkninger :

  • Ethvert forsøg på at tilføje eller fjerne fra egenskaber sæt frosne objekter mislykkes enten lydløst eller kaster TypeError(for det meste i streng tilstand).
  • Objekter forseglet med Object.seal()kan få ændret deres eksisterende egenskaber, mens de eksisterende egenskaber ikke kan ændres Object.freeze().

Eksempel: Brug af 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 ))

Produktion

 ægte sand bar udefineret

Bemærk : Object.freeze(obj)gælder kun de umiddelbare egenskaber for obj. Hvis værdien af ​​disse egenskaber er objekter i sig selv, er disse objekter ikke frosne og kan være målet for egenskabstilføjelse, fjernelse eller omfordeling af værdier.

Anbefalet læsning: JavaScript-objektforsegling ()

Interessante artikler...