Встречается на собеседованиях • сегодня
Можно ли запретить изменять объект
Да, можно запретить изменять объект с помощью методов Object.freeze(), Object.seal() или Object.preventExtensions().
Object.freeze()— полностью запрещает изменения (добавление, удаление, изменение свойств):
javascript
const obj = { a: 1 };
Object.freeze(obj);
obj.a = 2; // Не сработает в strict mode (ошибка)Object.seal()— запрещает добавлять/удалять свойства, но позволяет изменять существующие:
javascript
const obj = { a: 1 };
Object.seal(obj);
obj.a = 2; // Работает
obj.b = 3; // Не сработаетObject.preventExtensions()— только запрещает добавление новых свойств:
javascript
const obj = { a: 1 };
Object.preventExtensions(obj);
obj.b = 2; // Не сработаетВажно: Эти методы работают только на первом уровне объекта (не рекурсивно). Для глубокой заморозки нужна рекурсивная реализация.

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