Ответ
Generic Exclude — это тип, который исключает определённые значения из другого типа. В TypeScript он часто используется для фильтрации допустимых значений.
Пример с Exclude<T, U>:
type Colors = 'red' | 'green' | 'blue';
type PrimaryColors = Exclude<Colors, 'blue'>; // 'red' | 'green'Работает так:
- Принимает два параметра типа:
T(исходный тип) иU(тип для исключения) - Возвращает новый тип, содержащий только те элементы из
T, которых нет вU
Особенности:
- Работает с union-типами
- Можно исключать как конкретные значения, так и целые типы
- Полезен для создания производных типов без дублирования кода