核心结论
条件类型处理 any、never 和 unknown 时出现反直觉结果,是因为这三者在类型关系中具有特殊语义,不能当作普通联合成员理解。never 在分布式条件类型中相当于没有任何联合成员,因此整个计算结果仍是 never;any 可能传播不确定性,使真假分支都影响结果;unknown 是安全意义上的顶层类型,几乎所有类型都可赋给它,但它本身不能随意赋给更具体的类型。健壮的工具类型应先明确对这些输入采取保留、拒绝还是归一化策略。
底层机制
条件类型的基本形式为 T extends U ? X : Y。当检查位置是裸类型参数 T,并且传入联合类型时,条件类型会对联合成