联合类型(Union Types)和交叉类型(Intersection Types)是 TypeScript 中的两种类型操作符,它们具有不同的行为和用途。
-
联合类型(Union Types):
- 用竖线
|
分隔多个类型,表示一个值可以是其中的任意一种类型之一。 - 联合类型适用于变量或参数可以接受多种类型的情况。
- 联合类型使用的是”或”的逻辑关系。
- 例如,
number | string
表示一个值可以是数字类型或字符串类型。
let value: number | string; value = 10; // 合法 value = "hello"; // 合法 value = true; // 不合法,因为布尔类型不在联合类型中
- 用竖线
-
交叉类型(Intersection Types):
- 使用
&
符号将多个类型组合在一起,表示一个值必须同时具有所有这些类型的特征。 - 交叉类型适用于需要将多个类型的属性和方法合并成一个类型的情况。
- 交叉类型使用的是”与”的逻辑关系。
- 例如,
A & B
表示一个值必须同时具有类型 A 和类型 B 的属性和方法。
type Person = { name: string; }; type Employee = { employeeId: number; }; let person: Person & Employee; person = { name: "John Doe", employeeId: 123 }; // 合法 person = { name: "Jane Smith" }; // 不合法,因为缺少 employeeId 属性
- 使用
总结:
- 联合类型表示一个值可以是多种类型之一。
- 交叉类型表示一个值必须同时具有多个类型的特征。
- 联合类型使用
|
分隔类型,交叉类型使用&
分隔类型。 - 联合类型使用”或”的逻辑关系,交叉类型使用”与”的逻辑关系。
根据你的需求和场景,你可以选择使用联合类型或交叉类型来表示不同的类型组合和行为。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
相关推荐: IDEA工具第一篇:细节使用-习惯设置 | 京东云技术团队
安装好Idea后,直接上手clone代码进入编码时代,有没有那么一刻你会觉用起来没有那么顺手流畅呢? 下面是关于 【Windows】 下安装idea的一些习惯设置【 Mac大致一样 】 一、修改系统文件 • 默认:Idea默认系统配置和插件安装在C盘下,启动前…