JavaScript Object.freeze ()

Metoda JavaScript Object.freeze () zamraża obiekt.

Nie można już zmienić zamrożonego obiektu. Zamrożenie obiektu zapobiega:

  • Dodano nowe właściwości do obiektu.
  • Istniejące właściwości do usunięcia z obiektu.
  • Zmiana wyliczalności, konfigurowalności lub zapisywalności istniejących właściwości.
  • Zmiana wartości istniejących właściwości obiektu i prototypu.

Składnia freeze()metody to:

 Object.freeze(obj)

freeze()Metoda jest metodą statyczną, nazywa się używając Objectnazwy klasy.

freeze () Parametry

freeze()Sposób odbywa się:

  • obj - obiekt do zamrożenia.

Wartość zwracana z zamrożenia ()

  • Obiekt, który został przekazany do funkcji.

Uwagi :

  • Wszelkie próby dodania lub usunięcia zestawu właściwości zamrożonych obiektów zakończą się niepowodzeniem po cichu lub odrzuceniem TypeError(głównie w trybie ścisłym).
  • Obiekty zapieczętowane za pomocą Object.seal()mogą mieć zmienione istniejące właściwości, podczas Object.freeze()gdy istniejące właściwości stają się niezmienne.

Przykład: użycie freeze ()

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

Wynik

 true true bar undefined

Uwaga : Object.freeze(obj)dotyczy tylko bezpośrednich właściwości obj. Jeśli wartością tych właściwości są same obiekty, obiekty te nie są zamrożone i mogą być celem operacji dodawania, usuwania lub zmiany przypisania właściwości.

Zalecana literatura: JavaScript Object seal ()

Interesujące artykuły...