首页 > 解决方案 > 为什么“任何”类型扩展另一种类型将始终是打字稿中的联合类型?

问题描述

例子:

type A = any extends 1 ? 2 : 3 // result: type A = 2 | 3

只是好奇,为什么A2|3而不是2

我认为这是因为Distributive特性和any意味着任何类型的联合,所以它相当于:

type A = 0 | 1 | ... extends 1 ? 2 : 3 // => (0 extends 1 ? 2 : 3) | (1 extends 1 ? 2 : 3) | ...

但我不能确定。有人有更好的解释或官方解释可以解释吗?

标签: typescript

解决方案


推荐阅读