打字稿联合类型像交集类型一样工作

时间:2021-06-28 19:16:50

标签: typescript

我无法区分 TS 中联合和交集类型之间的差异,尽管差异应该非常清楚。举个例子:

   type CustomType1 = {
      customProp1: number;
    };
    
    type CustomType2 = {
      customProp2: number;
    };
    
    type UnionType = CustomType1 | CustomType2;
    
    const e1:  UnionType = {
      customProp1: 4,
      customProp2: 5,
    };

请注意我是如何创建一个联合类型的,它理论上应该创建一个只能具有一种或另一种类型的对象。情况并非如此,因为即使我定义的对象具有这两种类型的两个属性,编译器和我的 ide 都不会显示任何错误,这应该只有在将两种类型与交集 & 符号合并后才可能发生。是这样吗?

0 个答案:

没有答案