Дженерики (generics) в TypeScript позволяют создавать компоненты (функции, классы, интерфейсы), которые могут работать с различными типами данных, при этом сохраняя безопасность типов. Они позволяют писать более гибкий и переиспользуемый код, не теряя при этом преимуществ статической типизации. Самый простой пример – использование дженериков в функциях для возврата того же типа, что и был передан в качестве аргумента.
typescript
Дженерики можно использовать в классах:
typescript
И в интерфейсах:
typescript
Преимущества использования дженериков:
Дженерики часто используются в библиотеках и фреймворках, таких как React (для типизации пропсов компонентов), Redux (для типизации store), а также при работе с коллекциями данных.