JavaScript Object.freeze ()

JavaScript Object.freeze () -menetelmä pysäyttää objektin.

Jäädytettyä esinettä ei voi enää muuttaa. Esineen jäätyminen estää:

  • Uusia ominaisuuksia lisätään objektiin.
  • Objektista poistettavat nykyiset ominaisuudet.
  • Olemassa olevien ominaisuuksien luetteloitavuuden, konfiguroitavuuden tai kirjoitettavuuden muuttaminen.
  • Olemassa olevien objektiominaisuuksien ja prototyypin arvojen muuttaminen.

Menetelmän syntaksi freeze()on:

 Object.freeze(obj)

freeze()Menetelmä, joka on staattinen menetelmä, kutsutaan käyttää Objectluokan nimi.

jäädyttää () parametrit

freeze()Menetelmä vie:

  • obj - Jäädytettävä esine.

Palautusarvo jäädytyksestä ()

  • Funktiolle välitetty objekti.

Huomautuksia :

  • Kaikki yritykset lisätä tai poistaa jäädytettyjen esineiden ominaisuuksia epäonnistuvat joko äänettömästi tai heittää TypeError(enimmäkseen tiukassa tilassa).
  • Kohteilla, jotka on sinetöity, Object.seal()nykyisiä ominaisuuksia voidaan muuttaa samalla, kun ne Object.freeze()tekevät muuttamattomiksi.

Esimerkki: freeze () -toiminnon käyttäminen

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

Tuotos

 true true bar undefined

Huomaa : Object.freeze(obj)koskee vain obj. Jos näiden ominaisuuksien arvo on itse objekteja, nämä objektit eivät ole jäädytettyjä, ja ne voivat olla kohteiden lisäys-, poisto- tai arvonmääritysoperaatioiden kohde.

Suositeltava lukeminen: JavaScript Object seal ()

Mielenkiintoisia artikkeleita...