2 / 57
Как работают Object.freeze(), Object.seal() и Object.preventExtensions()?
Все три метода ограничивают изменение объекта, но на разном уровне. Object.preventExtensions() запрещает добавлять новые свойства. Object.seal() дополнительно делает все свойства неконфигурируемыми (нельзя удалять и менять дескрипторы). Object.freeze() идёт дальше всех и ещё запрещает изменять значения свойств, делая объект полностью неизменяемым на один уровень вложенности.