Напиши тип Junior Утилитарные типы обновлено

Исключить из union

Вопрос

Убери 'b' из union 'a' | 'b' | 'c'.

type Letters = 'a' | 'b' | 'c';
type WithoutB = /* ? */;

Попробуйте сами

Напишите тип, как написали бы в коде.

Показать ответ и разбор

Коротко

Правильный тип: Exclude<'a' | 'b' | 'c', 'b'>. Ответ Почему так Exclude<T, U = T extends U ? never : T.

Правильный тип

Exclude<'a' | 'b' | 'c', 'b'>

Разбор

Ответ

Exclude<'a' | 'b' | 'c', 'b'>

Почему так

Exclude<T, U> = T extends U ? never : T. Пара к нему - Extract<T, U>.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.