Для чего нужны 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