"обычных" условных типов (первый случай) условный тип от типа-параметра (соответственно, внутри дженерика) является дистрибутивным относительно операции объединения.
Дистрибутивность здесь означает, что такой условный тип от объединения нескольких частей вычисляется как объединение условных типов по этим частям: (A | B) extends U ? X : Y = (A extends U ? X : Y) | (B extends U ? X : Y).
Поэтому во втором и третьем случаях результат будет равен never | never | boolean = boolean.
Пример: play.
Большое Спасибо за объяснение
Обсуждают сегодня