Что такое дженерики в TypeScript и зачем они используются? Чем они отличаются от обычной типизации параметров?
Answer from AI
sobes.tech AI
Дженерики в TypeScript — это механизм параметризации типов, который позволяет создавать компоненты (функции, классы, интерфейсы) с универсальными типами, задаваемыми при использовании.
Обычная типизация параметров фиксирует конкретный тип, например, number или string. Дженерики же позволяют писать код, который работает с любым типом, сохраняя при этом информацию о типе для проверки и автодополнения.
Например, функция без дженериков:
function identity(arg: number): number {
return arg;
}
Она работает только с числами.
С дженериками:
function identity<T>(arg: T): T {
return arg;
}
Теперь identity может принимать и возвращать значение любого типа, при этом TypeScript знает, что тип входа и выхода совпадают.
Зачем нужны дженерики:
- Повторное использование кода для разных типов.
- Сохранение типовой безопасности.
- Улучшение читаемости и поддержки кода.
Отличие от обычной типизации параметров:
- Обычная типизация фиксирует конкретный тип.
- Дженерики позволяют параметризовать типы, делая код универсальным и типобезопасным.
Таким образом, дженерики — это способ писать обобщённый код, который адаптируется под разные типы без потери контроля типов.