Встречается на собеседованиях • сегодня
Как сделать объект неизменяемым
В JavaScript можно сделать объект неизменяемым несколькими способами:
1. `Object.freeze()` - замораживает объект, предотвращая добавление, удаление и изменение свойств.
```js
const obj = { a: 1 };
Object.freeze(obj);
obj.a = 2; // Не сработает в strict mode
```
2. `Object.seal()` - предотвращает добавление/удаление свойств, но позволяет изменять существующие.
```js
const obj = { a: 1 };
Object.seal(obj);
obj.a = 2; // Работает
obj.b = 3; // Не сработает
```
3. Свойства с флагами:
```js
const obj = {};
Object.defineProperty(obj, 'a', {
value: 1,
writable: false,
configurable: false
});
```
Для глубокой заморозки нужно рекурсивно применить `Object.freeze()` ко всем вложенным объектам. В TypeScript можно использовать `Readonly`.

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