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