TypeScript——联合类型、交叉类型
在TypeScript中,"联合类型"和"交叉类型"是两种常用的类型操作符,它们可以帮助开发者定义复杂的类型结构。
联合类型(Union Types)
联合类型是一种将多种类型合并成一种新的类型的方式。使用"|"操作符,可以将几种不同的类型合并为一个新的联合类型。当一个变量在不同的时间具有不同的类型,就可以使用联合类型。
例如,定义一个变量,它可能是字符串类型,也可能是数字类型:
let myVariable: string | number;
myVariable = 'Hello';
myVariable = 123;
交叉类型(Intersection Types)
交叉类型是一种将多个类型的共有属性抽象出来形成一个新的类型的方式。使用"&"操作符,可以将几种类型的共有属性抽象出来,形成一个新的交叉类型。
例如,定义一个对象,它拥有两个对象所共有的属性:
interface A {
x: number;
}
interface B {
y: string;
}
type Intersection = A & B;
let obj: Intersection = {
x: 10,
y: 'Hello',
};
在这个例子中,Intersection
类型就是 A
和 B
这两个类型的交集。它包含了 A
和 B
中的所有属性。
评论已关闭