PassFront
  1. PassFront
  2. База знаний
  3. Дженерики

Для чего нужны Generics в TypeScript?

Дженерики

Generics позволяют писать функции, классы и типы, которые работают с разными типами, но сохраняют связь между входом и выходом.

Без дженерика

function first(items: any[]): any {
  return items[0];
}
const x = first([1, 2]); // any — тип потерян

С дженериком

function first<T>(items: T[]): T | undefined {
  return items[0];
}
const x = first([1, 2]);   // number
const y = first(['a']);    // string

Где применяют

  • утилиты (map, groupBy, debounce);
  • контейнеры и структуры данных (Stack<T>, ApiResponse<T>);
  • React-компоненты со списками (List<T>);
  • встроенные типы: Array<T>, Promise<T>, Record<K, V>.

Коротко для собеседования

Дженерики — параметры типов: код переиспользуется для разных типов без потери информации о них.

Подробнее: TypeScript Handbook — Generics

Другие вопросы раздела