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