Что такое Generics в TypeScript

Ответ

Generics в TypeScript позволяют создавать компоненты, работающие с разными типами, сохраняя типобезопасность. Это как параметры для типов.

function identity<T>(arg: T): T {
  return arg;
}

let output1 = identity<string>("hello"); // тип string
let output2 = identity<number>(42); // тип number

Ключевые особенности:

  • Позволяют избежать дублирования кода для разных типов
  • Сохраняют информацию о типах
  • Можно использовать в функциях, классах, интерфейсах
  • Обеспечивают лучшую проверку типов, чем any

Пример с интерфейсом:

interface GenericArray<T> {
  [index: number]: T;
}

Где <T> - это параметр типа, который можно заменить конкретным типом при использовании.