Встречается на собеседованиях • сегодня
Как сделать объект иммутабельным в TypeScript
В TypeScript можно сделать объект иммутабельным несколькими способами:
1. Использование `readonly`:
```typescript
type ImmutableUser = {
readonly name: string;
readonly age: number;
};
```
2. С помощью `Readonly` утилиты:
```typescript
type User = { name: string; age: number };
const user: Readonly = { name: 'Alice', age: 30 };
// user.name = 'Bob' - ошибка компиляции
```
3. Глубокое замораживание через `Object.freeze()`:
```typescript
const deepFreeze = (obj: any) => {
Object.freeze(obj);
Object.keys(obj).forEach(key => {
if (typeof obj[key] === 'object') deepFreeze(obj[key]);
});
};
const user = { name: 'Alice', address: { city: 'NY' } };
deepFreeze(user);
```
Для сложных структур лучше использовать библиотеки типа Immutable.js. В React часто используют Immer для работы с иммутабельными состояниями.

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