Встречается на собеседованиях • сегодня
Как запретить возможность изменения полей в объекте
В JavaScript можно использовать несколько способов для запрета изменения полей объекта:
Object.freeze()- делает объект полностью неизменяемым (нельзя добавлять, удалять или изменять свойства):
js
const obj = { name: 'John' };
Object.freeze(obj);
obj.name = 'Mike'; // Не сработает в strict modeObject.seal()- позволяет изменять существующие свойства, но запрещает добавлять/удалять:
js
const obj = { name: 'John' };
Object.seal(obj);
obj.name = 'Mike'; // Работает
obj.age = 30; // Не сработает- Для отдельных свойств можно использовать
Object.defineProperty:
js
const obj = {};
Object.defineProperty(obj, 'name', {
value: 'John',
writable: false,
configurable: false
});Важно: эти методы работают только на первом уровне вложенности. Для глубокой заморозки нужно рекурсивно обрабатывать все вложенные объекты.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы