Преимущества interface / type
- Преимущества interface:
- Расширяемость - интерфейс можно расширить с помощью ключевого слова extends
- Объединение деклараций - можно объединить несколько интерфейсов с одинаковым именем
- Ограничения interface:
- Не подходит для объявления union типов
- Не может представлять примитивные типы
- Преимущества type:
- Гибкость - позволяет определить union и intersection типы
- Поддержка примитивных типов
- Можно использовать typeof
Использовать interface следует если вам нужно объявить тип объекта или класса, который будет реализовывать этот тип.
Использовать type следует если вам нужна большая гибкость для создания сложных и комбинированных типов, или если тип может быть примитивом.