TypeScript 交叉类型
介绍
在 TypeScript 中,交叉类型(Intersection Types) 是一种将多个类型合并为一个新类型的方式。通过交叉类型,我们可以组合多个类型的特性,从而创建出更复杂、更灵活的类型。交叉类型使用 &
符号来表示。
简单来说,交叉类型可以理解为“类型合并”。例如,如果你有两个类型 A
和 B
,那么 A & B
将同时具备 A
和 B
的所有属性。
基本语法
交叉类型的基本语法如下:
type CombinedType = TypeA & TypeB;
其中,TypeA
和 TypeB
是任意类型,CombinedType
是一个新类型,它包含了 TypeA
和 TypeB
的所有属性。
示例 1:合并对象类型
假设我们有两个对象类型 Person
和 Employee
:
type Person = {
name: string;
age: number;
};
type Employee = {
employeeId: number;
department: string;
};
type EmployeePerson = Person & Employee;
在这个例子中,EmployeePerson
类型将同时具备 Person
和 Employee
的所有属性。我们可以这样使用它:
const employee: EmployeePerson = {
name: "Alice",
age: 30,
employeeId: 12345,
department: "Engineering",
};
备注
注意:交叉类型要求新类型的对象必须同时满足所有被合并类型的约束。如果缺少任何一个属性,TypeScript 会报错。