typescript 交叉类型
在TypeScript中,交叉类型是通过使用&
操作符来实现的。它是用来将多个类型合并成一个新类型,新类型包含所有参与合并的类型的成员。当你有一些类型,它们具有部分重叠的成员,你可以使用交叉类型来创建一个新类型,它包含所有这些重叠的成员。
例如,假设你有两个接口Person
和Employee
,它们具有一些重叠的属性:
interface Person {
name: string;
age: number;
gender: string;
}
interface Employee {
name: string;
salary: number;
}
你可以使用交叉类型来创建一个新类型PersonEmployee
,它同时拥有Person
和Employee
的name
属性:
type PersonEmployee = Person & Employee;
现在,PersonEmployee
类型就包含了name
属性两次,这是因为Person
和Employee
都有name
属性。你可以创建一个实现了PersonEmployee
类型的对象:
let personEmployee: PersonEmployee = {
name: "Alice",
age: 30,
gender: "female",
salary: 50000,
};
在这个例子中,personEmployee
同时拥有Person
和Employee
的属性。这就是TypeScript中交叉类型的基本使用方法。
评论已关闭