交叉类型的主要用途是表示对象的合成

2024-05-29 12:02:03 浏览数 (1)

交叉类型(intersection types)指的多个类型组成的一个新类型,使用符号&表示。

交叉类型A&B表示,任何一个类型必须同时属于A和B,才属于交叉类型A&B,即交叉类型同时满足A和B的特征。

代码语言:javascript复制
let x: number & string;

上面示例中,变量x同时是数值和字符串,这当然是不可能的,所以 TypeScript 会认为x的类型实际是never。

交叉类型的主要用途是表示对象的合成。

代码语言:javascript复制
let obj: { foo: string } & { bar: string };

obj = {
  foo: "hello",
  bar: "world",
};

上面示例中,变量obj同时具有属性foo和属性bar。

交叉类型常常用来为对象类型添加新属性。

代码语言:javascript复制
type A = { foo: number };

type B = A & { bar: number };

上面示例中,类型B是一个交叉类型,用来在A的基础上增加了属性bar。

来源:

在这里插入图片描述在这里插入图片描述

0 人点赞