技术文摘
TypeScript里的并集与交集类型
TypeScript里的并集与交集类型
在TypeScript的类型系统中,并集与交集类型是两个强大且实用的概念,理解它们对于编写高质量、可维护的代码至关重要。
并集类型,使用竖线(|)来表示。它允许一个变量或函数参数可以是多种类型中的任意一种。例如:let value: string | number; 这里,value 变量既可以被赋值为字符串,也可以被赋值为数字。这种灵活性在处理不同类型数据但逻辑上又有一定共性的场景中非常有用。比如,一个函数可能需要接受不同类型的输入:function printValue(value: string | number) { console.log(value); },这个函数可以接受字符串或数字作为参数并进行打印操作。
并集类型在联合不同的接口或类型别名时也很常见。假设我们有两个接口:interface Dog { name: string; bark(): void; } 和 interface Cat { name: string; meow(): void; },现在我们想要一个函数可以处理狗或猫:function handlePet(pet: Dog | Cat) { console.log(pet.name); },这样无论传入的是狗还是猫的对象,函数都能正确处理它们共有的 name 属性。
交集类型则使用 & 符号。它表示一个类型是多种类型的组合,一个变量或对象必须同时满足所有这些类型的要求。例如:interface A { a: string; } 和 interface B { b: number; },那么 let obj: A & B = { a: 'hello', b: 123 };,这里 obj 必须同时具备 A 和 B 接口的属性。
交集类型在扩展现有类型时非常有用。如果我们有一个基础类型,想要在此基础上添加额外的属性或方法,可以通过交集类型来实现。比如有一个通用的 User 接口,现在需要一个特殊的 AdminUser 类型,它不仅有 User 的属性,还有管理员特有的属性:interface User { name: string; age: number; },interface AdminUser extends User & { permissions: string[]; },这样 AdminUser 就同时拥有了 User 的属性和 permissions 数组。
TypeScript的并集与交集类型为开发者提供了强大的类型组合能力,合理运用它们可以让代码更加灵活、健壮,提升开发效率与代码质量。
TAGS: TypeScript 类型系统 并集类型 交集类型
- 可扩展 CSS 的演变:让我们一同探讨
- Web Audio API:领略音频之美,其强大超乎想象
- 前端必须知晓的设计模式 - 门面模式
- ThreadLocal 父子线程间数据传递之问
- 干货:ReentrantLock 源码深度剖析 值得收藏
- 基于 SVG 与 CSS 打造 UI 组件
- Flowable 外置 HTML 表单的玩法
- 避免 Web 字体导致布局偏移的方法
- 告别 Jupyter Notebook,DataSpell 崛起!
- 得物视频编辑工具的优化指南
- 时间序列分析里的自相关
- 前端:Nodejs 版本管理工具 Nvm 详解,你掌握了吗?
- CSS 也能防止按钮重复点击,别再只用 JS 节流
- Spring 事件监听机制的本质竟是观察者模式
- ORM 链式操作的使用方法及软删除的优雅实现之道