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 Object
navn 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 somObject.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 ()