JavaScript · Middle · Pytanie 32 z 75
Co wypisze ten kod?
const cfg = Object.freeze({ db: { host: "a" } });
cfg.db.host = "b";
console.log(cfg.db.host);- ✓Poprawna odpowiedź:
"b":freezejest płytki; zagnieżdżony obiekt nie jest zamrożony - 2
"a":freezezamraża obiekt aż do samego dna - 3
TypeError: właściwości zamrożonego obiektu nie można zmieniać
Wyjaśnienie
Object.freeze zabrania dodawania, usuwania i zmieniania właściwości tylko samego obiektu. Zagnieżdżone obiekty pozostają mutowalne. Głębokie zamrażanie robi się funkcją rekurencyjną.