TypeScript交叉类型&联合类型
warning:
这篇文章距离上次修改已过441天,其中的内容可能已经有所变动。
在TypeScript中,交叉类型(Intersection Types)和联合类型(Union Types)是类型系统的两个关键特性。
交叉类型用 & 操作符表示,它将多个类型合并成一个新类型,新类型包含了所有参与合并的类型的特性。例如,你有两个类型 Person 和 Employee,你可以创建一个新类型 Person & Employee,它同时拥有 Person 和 Employee 的属性和方法。
type Person = {
name: string;
age: number;
};
type Employee = {
salary: number;
jobTitle: string;
};
type PersonEmployee = Person & Employee;
let personEmployee: PersonEmployee = {
name: 'Alice',
age: 30,
salary: 50000,
jobTitle: 'Engineer'
};联合类型用 | 操作符表示,它表示一个类型可以是几种类型之一。例如,一个函数可以接受一个 string 或者 number 作为参数。
function handleStringOrNumber(arg: string | number) {
// ...
}
handleStringOrNumber('hello'); // 正确
handleStringOrNumber(123); // 正确
// handleStringOrNumber({}); // 错误,因为它不是 string 或 number 类型在实际应用中,交叉类型用于扩展现有类型,创建更复杂的类型结构;联合类型用于指定函数参数或变量可以接受多种类型。
评论已关闭