Встречается на собеседованиях • сегодня

Можно ли запретить изменять объект

Да, можно запретить изменять объект с помощью методов Object.freeze(), Object.seal() или Object.preventExtensions().

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

Важно: Эти методы работают только на первом уровне объекта (не рекурсивно). Для глубокой заморозки нужна рекурсивная реализация.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы