Typescript 为什么条件类型与any的工作方式不同?

Typescript 为什么条件类型与any的工作方式不同?,typescript,Typescript,问题很简单,为什么在这种情况下类型s是两个变量的并集 type s = any extends boolean ? 'Yes' : 'no'; 任何类型都可以是任何东西,这似乎是合乎逻辑的,但对这种行为有更好的解释吗?我可以给出我的观点,解释为什么会出现这种情况,但我想这并不是你真正想要的 我能找到的关于为什么会发生这种行为的唯一规范解释是从它的实现位置的#13287到#13290行中的注释(你不能直接在GitHub上查看那么大的文件)

问题很简单,为什么在这种情况下
类型s
是两个变量的并集

type s = any extends boolean ? 'Yes' : 'no';
任何类型都可以是任何东西,这似乎是合乎逻辑的,但对这种行为有更好的解释吗?

我可以给出我的观点,解释为什么会出现这种情况,但我想这并不是你真正想要的

我能找到的关于为什么会发生这种行为的唯一规范解释是从它的实现位置的#13287到#13290行中的注释(你不能直接在GitHub上查看那么大的文件)