interface описывает объектный контракт и поддерживает объединение деклараций. type задаёт псевдоним для любого типа, включая union, tuple и условные типы.
[имя] спросил(а): чем отличается type от interface в TypeScript?
interface описывает объектный контракт и поддерживает объединение деклараций. type задаёт псевдоним для любого типа, включая union, tuple и условные типы.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
interface описывает объектный контракт и поддерживает объединение деклараций. type задаёт псевдоним для любого типа, включая union, tuple и условные типы.
Оба подходят для многих объектных моделей и могут участвовать в расширении через extends или intersection. Повторное объявление interface может объединиться; одинаковое имя type так использовать нельзя. Ни один вариант не создаёт runtime-проверку данных, а выбор часто зависит от нужной выразительности и правил команды.