分布式条件类型何时会逐项处理联合类型,如何显式控制其分发行为
简答题困难607 次浏览
参考答案与解析
# 核心结论
当条件类型的被检查一侧是裸类型参数时,传入联合类型会触发分发:联合中的每个成员分别进入条件判断,所得结果再合并为联合类型。这种行为适合过滤、提取和逐项映射联合成员;如果需要把整个联合当作一个整体判断,则应显式禁止分发。常见控制方式是使用单元素元组包裹判断两侧,例如将 T extends U 改为 [T] extends [U]。
# 底层机制
形如 T extends U ? X : Y 的条件类型中,若 T 是未被其他结构包裹的类型参数,并且实例化时传入 A | B,可近似理解为分别计算 A extends U ? X : Y 与 B extends U ? X : Y,最后把结
