Встречается на собеседованиях • сегодня
В чем разница между типом и интерфейсом
В TypeScript и тип (type), и интерфейс (interface) позволяют описывать структуры данных, но есть ключевые различия:
- Расширение:
- Интерфейсы поддерживают
extends:typescriptinterface A { x: number } interface B extends A { y: string } - Типы используют
&(пересечение):typescripttype A = { x: number } type B = A & { y: string }
- Интерфейсы поддерживают
-
Объединение:
- Типы поддерживают union (
|):typescripttype Status = 'success' | 'error' - Интерфейсы не поддерживают union напрямую.
- Типы поддерживают union (
-
Декларативное слияние:
- Интерфейсы можно объявлять несколько раз (слияние):
typescript
interface User { name: string } interface User { age: number } // итого: { name: string; age: number } - Типы нельзя объявлять повторно.
- Интерфейсы можно объявлять несколько раз (слияние):
-
Производительность:
- Интерфейсы лучше работают с ошибками, показывая конкретное место проблемы.
- Типы могут быть сложнее для вывода типов в больших проектах.
Когда использовать:
- Интерфейсы — для описания форм объектов, классов, API.
- Типы — для сложных комбинаций, union-типов, utility-типов.

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