在 TypeScript 中,联合类型 (Union Types) 和 交叉类型 (Intersection Types) 是两种非常重要的组合类型的方式。它们允许你通过组合现有的类型来创建新的类型。 简单来说: 联合类型 ():表示“或”的关系(是 A 或者 是 B)。 交叉类型 ():表示“和”的关系(既是 A 又是 B,通常用于合并)。 --- 1. 联合类型 (Union Types) 符号: 联合类型表示一个值可以是几种类型之一。 基本用法 最常见的场景是允许一个变量接受不同类型的值(例如 或 )。 访问成员的限制 当你使用联合类型时,TypeScript 只能保证该变量拥有这些类型共有的成员。 类型守卫 (Type Guards) 为了安全地使用特定类型的方法,你需要使用“类型守卫”来缩小类型范围(Narrowing)。 字面量联合类型 常用于限制变量只能是某几个特定的值(类似枚举)。 --- 2. 交叉类型 (Intersection Types) 符号: 交叉类型将多个类型合并为一个类型。这就意味着这个类型的对象同时拥有了这几种类型的所有成员。 基本用法 常用于对...