Ответ
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>
- это параметр типа, который можно заменить конкретным типом при использовании.