我不能理解 TypeScript 中术语 联合类型和 交叉路口类型背后的逻辑。
实际上,如果不同类型的属性是一组属性,那么如果我将它们与 &
操作符组合在一起,得到的类型将是这些属性集的 工会。按照这个逻辑,我希望这样的类型被称为 联合类型。如果我将它们与 |
组合,我只能使用它们的公共属性,即集合的 十字路口。
任意给定的非空集 S 的幂集(所有子集的集合)构成一个布尔代数,一个集合代数,具有两个运算∧ : = ∪(联合)和∧ : = ∩(交)。
然而,根据 Typescriptlang.org,情况正好相反: &
用于生产 交叉路口类型,而 |
用于生产 联合类型。
我相信还有其他的方法来看待这个问题,但是我想不出来。