JavaScript Object.freeze ()

A JavaScript Object.freeze () metódus lefagyaszt egy objektumot.

A lefagyott objektumot már nem lehet megváltoztatni. Egy tárgy fagyasztása megakadályozza:

  • Új tulajdonságok hozzáadása az objektumhoz.
  • Az objektumból eltávolítandó meglévő tulajdonságok.
  • A meglévő tulajdonságok számbavételének, konfigurálhatóságának vagy írhatóságának módosítása.
  • A meglévő objektumtulajdonságok és prototípus értékeinek megváltoztatása.

A freeze()módszer szintaxisa :

 Object.freeze(obj)

A freeze()módszer statikus módszerként az Objectosztály nevét használja.

freeze () Paraméterek

A freeze()módszer:

  • obj - A megfagyni kívánt tárgy.

Fagyasztásból származó visszatérési érték ()

  • A függvénynek átadott objektum.

Megjegyzések :

  • A fagyasztott objektumok tulajdonságainak hozzáadásával vagy azokból való eltávolításával kapcsolatos kísérletek csendben vagy dobás nélkül kudarcot vallanak TypeError(főleg szigorú módban).
  • A lezárt objektumok Object.seal()meglévő tulajdonságait megváltoztathatják, miközben Object.freeze()a meglévő tulajdonságokat megváltoztathatatlanná teszik.

Példa: freeze () használata

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

Kimenet

 igaz igaz sáv undefined

Megjegyzés : Object.freeze(obj)csak a obj. Ha ezeknek a tulajdonságoknak az értéke maguk az objektumok, akkor ezek az objektumok nincsenek lefagyva, és a tulajdonság-összeadási, -eltávolítási vagy -érték-hozzárendelési műveletek célpontjai lehetnek.

Ajánlott olvasmány: JavaScript Object Seal ()

érdekes cikkek...