typescript基础之联合类型与交集类型

在 TypeScript 中,联合类型(union type)和交集类型(intersection type)是两种组合类型,它们可以用来表示一个值或变量的类型是多个类型中的一个或全部。它们的语法和含义如下:

•  联合类型使用 | 符号来连接多个类型,表示一个值或变量的类型可以是这些类型中的任意一个。例如:

type Color = "red" | "green" | "blue"; // Color 类型是 "red","green" 或 "blue" 中的一个
let color: Color = "red"; // ok
color = "green"; // ok
color = "yellow"; // error,"yellow" 不属于 Color 类型

•  交集类型使用 & 符号来连接多个类型,表示一个值或变量的类型必须同时满足这些类型的所有条件。例如:

type Point = { x: number; y: number }; // Point 类型是一个对象,有 x 和 y 两个属性,都是 number 类型
type Circle = { radius: number }; // Circle 类型是一个对象,有 radius 一个属性,是 number 类型
type PointInCircle = Point & Circle; // PointInCircle 类型是 Point 和 Circle 的交集,也就是一个对象,有 x, y, radius 三个属性,都是 number 类型
let pic: PointInCircle = { x: 0, y: 0, radius: 10 }; // ok
pic = { x: 1, y: 2 }; // error,缺少 radius 属性
pic = { radius: 5 }; // error,缺少 x 和 y 属性

联合类型和交集类型的使用场景和优势如下:

•  使用联合类型可以表示一个值或变量的类型不确定或可变的情况,例如用户输入,函数参数,函数返回值等。联合类型可以让 TypeScript 更好地处理这些情况,并且提供更严格的类型检查和推断。

•  使用交集类型可以表示一个值或变量的类型需要同时满足多个条件的情况,例如混入(mixin),扩展(extend),约束(constraint)等。交集类型可以让 TypeScript 更好地实现这些功能,并且提供更灵活的类型组合和操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韩小浪~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值