Metoda JavaScript Object.freeze () zamrzava objekt.
Smrznuti se objekt više ne može mijenjati. Zamrzavanje predmeta sprječava:
- Dodavanje novih svojstava u objekt.
- Postojeća svojstva koja se uklanjaju iz objekta.
- Promjena nabrojivosti, konfigurabilnosti ili zapisljivosti postojećih svojstava.
- Promjena vrijednosti postojećih svojstava objekta i prototipa.
Sintaksa freeze()
metode je:
Object.freeze(obj)
freeze()
Metoda, kao statičke metode, zove se pomoću Object
ime klase.
parametri zamrzavanja ()
freeze()
Postupak uzima u:
- obj - Predmet za zamrzavanje.
Povratna vrijednost iz zamrzavanja ()
- Objekt koji je proslijeđen funkciji.
Napomene :
- Svaki pokušaj dodavanja ili uklanjanja iz svojstava skupa smrznutih objekata neće uspjeti ili nečujno
TypeError
(uglavnom u strogom načinu). - Objekti koji su zapečaćeni
Object.seal()
mogu promijeniti svoja postojeća svojstva, dokObject.freeze()
postojeća svojstva čine nepromjenjivim.
Primjer: upotreba zamrzavanja ()
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 ))
Izlaz
true true bar nedefinirano
Napomena : Object.freeze(obj)
odnosi se samo na neposredna svojstva obj
. Ako su vrijednost tih svojstava sami objekti, ti objekti nisu zamrznuti i mogu biti meta operacija dodavanja, uklanjanja ili prenamjene vrijednosti.
Preporučeno štivo: JavaScript pečat objekta ()