typescript - 为什么“任何”类型扩展另一种类型将始终是打字稿中的联合类型?
问题描述
例子:
type A = any extends 1 ? 2 : 3 // result: type A = 2 | 3
只是好奇,为什么A
是2|3
而不是2
?
我认为这是因为Distributive
特性和any
意味着任何类型的联合,所以它相当于:
type A = 0 | 1 | ... extends 1 ? 2 : 3 // => (0 extends 1 ? 2 : 3) | (1 extends 1 ? 2 : 3) | ...
但我不能确定。有人有更好的解释或官方解释可以解释吗?
解决方案
推荐阅读
- python - 我无法使用带有 Python 的 winium 启动我的应用程序
- flutter - 根据 SharedPreference 数据设置主题
- python - 使用 Pytest/Python 在 Azure DevOps 中创建工作项时出错
- android - RecyclerView 更新完成回调
- arrays - 根据 Prolog 中的目标值过滤数字元素
- lisp - 为什么我在 Drracket 中输入的所有鼠标事件都会变成数字?
- r - 如何仅为该图重命名用于该图的变量?
- python - 如何在 Databricks 笔记本中读取 .shp 文件
- html - 如何在 Css 中创建 Whatsapp 形状的边框属性?
- azure - 基于区域在 terraform 中创建角色分配