> Что такое дженерики в TypeScript и для чего они используются (TypeScript)

Уровень: junior · Роль: frontend · Категория: Технические вопросы

Компании: Иннотех, Альфа-банк, Soft_Media_Group, ООО Премиум ИТ Солюшен, Kodix, IT-One, GetMatch, Арго, TYMY, LoyaltyLabs, SmartWay

Стек: TypeScript

> Пример ответа

Дженерики (обобщённые типы) в TypeScript - это механизм, позволяющий создавать компоненты (функции, классы, интерфейсы), которые работают с различными типами данных, сохраняя при этом строгую типизацию. Вместо того чтобы указывать конкретный тип, используется параметр типа (например, T), который подставляется при вызове.

Основные цели использования:

  1. Типобезопасность без потери гибкости - функция может принимать и возвращать данные любого типа, но компилятор проверяет соответствие типов на этапе вызова.

  2. Повторное использование кода - один и тот же компонент работает с разными типами, не требуя дублирования.

  3. Сохранение информации о типе - в отличие от any, дженерики не стирают тип, а фиксируют его.

Пример:

TYPESCRIPT
function firstElement<T>(arr: T[]): T | undefined {
return arr[0];
}
const num = firstElement([1, 2, 3]); // тип number
const str = firstElement(['a', 'b']); // тип string

Здесь T - это placeholder, который заменяется на реальный тип при вызове. Если передать массив чисел, T станет number, и возвращаемое значение будет number | undefined.

Где применяется:

  • Типизированные коллекции (например, Array<T>).

  • API-клиенты (обобщённые ответы сервера).

  • Паттерны вроде "фабрика" или "репозиторий".

  • Создание утилит для работы с промисами, событиями и т.д.

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

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью