根据交集的定义,几种类型的交集应该产生一个类型,该类型的属性对于所有类型来说都是公共的。例如,如果我们有:
type o1 = {a: string, b: string}
type o2 = {a: string, c: string}
type o3 = o1 & o2
Run Code Online (Sandbox Code Playgroud)
theno3
应该是一个仅具有属性的类型,a
因为是和a
的公共属性。然而,我们实际上得到的是一个具有属性、和 的类型。在这种情况下,交集类型的行为似乎并不像其名称所显示的那样。它的作用更像是所有类型的组合。那么交叉口类型真的与交叉口有关吗?如果不是,为什么我们称其为交集类型而不是组合类型或其他名称?o1
o2
a
b
c
归档时间: |
|
查看次数: |
879 次 |
最近记录: |