Interface описывает объектный контракт и поддерживает declaration merging; type может также задавать union, primitive и другие выражения типов.
В чём разница между interface и type в TypeScript? Как объединить два интерфейса в один?
Interface описывает объектный контракт и поддерживает declaration merging; type может также задавать union, primitive и другие выражения типов.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Interface описывает объектный контракт и поддерживает declaration merging; type может также задавать union, primitive и другие выражения типов.
Два интерфейса можно объединить как interface Combined extends A, B {} или через type Combined = A & B. Несовместимые свойства требуют внимания: extends сообщит конфликт, а intersection может образовать непригодный тип свойства.