JavaScript · Middle · Frage 32 von 75
Was gibt dieser Code aus?
const cfg = Object.freeze({ db: { host: "a" } });
cfg.db.host = "b";
console.log(cfg.db.host);- 1
"a":freezefriert das Objekt bis ganz nach unten ein - 2
TypeError: Eigenschaften eines eingefrorenen Objekts sind unveränderlich - 3
"b":freezeist flach; das verschachtelte Objekt ist nicht eingefroren
Antwort zeigen
Richtige Antwort: "b": freeze ist flach; das verschachtelte Objekt ist nicht eingefroren
Erklärung
Object.freeze verhindert Hinzufügen, Entfernen und Ändern von Eigenschaften nur beim Objekt selbst. Verschachtelte Objekte bleiben veränderlich. Tiefes Einfrieren macht man mit einer rekursiven Funktion.