这些类型的交集是什么:
T1 = string
T2 = string[]
什么是T3 = T1 && T2
?
是undefined
还是string
?当我尝试在VisualStudio代码中运行它时,我得到string
类型,但它不能是undefined
或其他什么?
答案 0 :(得分:1)
首先,使用单个&
定义交叉点类型。当您执行type T3 = string && string[]
时,由于逻辑AND的工作原理,右侧表达式的计算结果为string
,因此您的编辑器会将新类型显示为string
。< / p>
要回答您的问题,type T3 = string & string[]
将创建既不 string
也不 undefined
的类型。将鼠标悬停在T3
类型的变量上将显示它只是这两种类型的交集。
但是,使用类似的类型是没有意义的,因为某些内容不能同时为string
和string[]
,因此您无法为其分配任何内容。