на существование T[K], а не наоборот?
Потому что каждый элемент юниона подвергается проверке. T[K] может быть к примеру number | null, тогда и number, и null будут проверяться, расширяют ли они null. В этом случае number не расширяет null, поэтому conditional type кидает в false ветку.
Обсуждают сегодня