Какие плюсы и минусы написания всего на type в TypeScript

«Какие плюсы и минусы написания всего на type в TypeScript» — вопрос из категории TypeScript, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Плюсы:

  • Чистый и лаконичный код, особенно для простых типов
  • Избегаем дублирования кода (type можно переиспользовать)
  • Более гибкие возможности (union, intersection типы)
  • Лучше работает с условными типами и mapped types

Минусы:

  • Нет возможности расширения (declaration merging) как у interface
  • Менее читаемо для сложных объектов/классов
  • Некоторые IDE хуже автодополняют type
  • В ранних версиях TS были проблемы с производительностью

Пример:

type User = {
  name: string;
  age: number;
};

type Admin = User & { role: string }; // intersection
type UserOrAdmin = User | Admin; // union