JavaScript · Middle · Запитання 32 з 75
Що виведе код?
const cfg = Object.freeze({ db: { host: "a" } });
cfg.db.host = "b";
console.log(cfg.db.host);- ✓Правильна відповідь:
"b":freezeповерхневий, вкладений об'єкт не заморожено - 2
"a":freezeзаморожує об'єкт на всю глибину - 3
TypeError: змінювати властивості замороженого об'єкта не можна
Пояснення
Object.freeze забороняє додавати, видаляти й змінювати властивості лише самого об'єкта. Вкладені об'єкти лишаються змінними. Глибоке заморожування роблять рекурсивною функцією.