JavaScript Object.freeze ()

Die JavaScript Object.freeze () -Methode friert ein Objekt ein.

Ein eingefrorenes Objekt kann nicht mehr geändert werden. Das Einfrieren eines Objekts verhindert:

  • Neue Eigenschaften werden dem Objekt nicht hinzugefügt.
  • Vorhandene Eigenschaften, die aus dem Objekt entfernt werden sollen.
  • Ändern der Aufzählbarkeit, Konfigurierbarkeit oder Beschreibbarkeit vorhandener Eigenschaften.
  • Ändern der Werte der vorhandenen Objekteigenschaften und des Prototyps.

Die Syntax der freeze()Methode lautet:

 Object.freeze(obj)

Die freeze()Methode ist eine statische Methode und wird unter Verwendung des ObjectKlassennamens aufgerufen .

freeze () Parameter

Die freeze()Methode umfasst:

  • obj - Das Objekt zum Einfrieren.

Rückgabewert von freeze ()

  • Das Objekt, das an die Funktion übergeben wurde.

Anmerkungen :

  • Alle Versuche, Eigenschaftensätze von eingefrorenen Objekten hinzuzufügen oder daraus zu entfernen, schlagen entweder stillschweigend fehl oder werden ausgelöst TypeError(meistens im strengen Modus).
  • Mit versiegelten Objekten Object.seal()können die vorhandenen Eigenschaften geändert werden, während Object.freeze()die vorhandenen Eigenschaften unveränderlich werden.

Beispiel: Verwenden von 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 ))

Ausgabe

 true true bar undefiniert

Hinweis : Object.freeze(obj)Gilt nur für die unmittelbaren Eigenschaften von obj. Wenn der Wert dieser Eigenschaften Objekte selbst sind, werden diese Objekte nicht eingefroren und können das Ziel von Operationen zum Hinzufügen, Entfernen oder Neuzuweisen von Eigenschaften sein.

Empfohlene Lektüre: JavaScript-Objektsiegel ()

Interessante Beiträge...