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

Когда нельзя использовать interface в TypeScript

Interfaces в TypeScript не стоит использовать, когда: 1. **Нужны примитивы или union-типы** Interfaces не поддерживают примитивы (`string`, `number`) или union-типы (`string | number`). Вместо них используйте `type`. ```typescript type ID = string | number; // Работает interface ID { value: string | number } // Ошибка ``` 2. **Требуется расширение примитивов** Interfaces не могут расширять примитивы (`string`, `number`), только объекты. 3. **Использование mapped или conditional типов** `type` поддерживает сложные преобразования, а `interface` — нет. ```typescript type Readonly = { readonly [K in keyof T]: T[K] }; // Работает ``` 4. **Объединение типов через `&` или `|`** Interfaces не поддерживают операторы объединения/пересечения напрямую. ```typescript type A = { a: string }; type B = { b: number }; type C = A & B; // Корректно ``` Interfaces лучше для объектов и классов, когда важна декларативная расширяемость.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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