Преимущества interface / type

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

Использовать interface следует если вам нужно объявить тип объекта или класса, который будет реализовывать этот тип.

Использовать type следует если вам нужна большая гибкость для создания сложных и комбинированных типов, или если тип может быть примитивом.