Встречается на собеседованиях • сегодня
Можно ли создать иммутабельный объект в TypeScript
Да, можно создать иммутабельный объект в TypeScript несколькими способами:
Object.freeze()- делает объект неизменяемым (поверхностно):
typescript
const obj = Object.freeze({ a: 1, b: 2 });
obj.a = 3; // Ошибка в strict modeReadonlyтип - делает свойства доступными только для чтения:
typescript
type Immutable = Readonly<{ a: number; b: string }>;
const obj: Immutable = { a: 1, b: 'test' };
obj.a = 2; // Ошибка компиляцииas constутверждение - делает объект полностью неизменяемым:
typescript
const obj = { a: 1, b: 'test' } as const;
obj.a = 2; // Ошибка компиляцииВажно: Object.freeze() работает только на первом уровне вложенности. Для глубокой иммутабельности можно использовать библиотеки типа Immer или писать рекурсивные функции-обёртки.

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