技术文摘
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 类型系统 并集类型 交集类型
- 多个 SCSS 文件怎样合并为一个 CSS 文件
- html2canvas 生成 GIF 为何仅取最后一帧
- JavaScript实现页面中图像的局部更新方法
- 生成日历表格如何横向排列以避免遮挡按钮
- 在用户权限管理里怎样实现数据源的动态选择
- flex布局下body标签内元素如何垂直居中
- HTML引入外部JS文件后 如何确保JS文件加载完再执行方法
- HTML多行文本悬停下划线效果的实现方法
- Flex布局导致列表符号消失的原因
- 网页安全:URL 中密码信息的隐藏方法
- 相同代码在浏览器、Git 命令行和 Node.js 中运行结果不同的原因
- 网页滚动时内容怎样实现逐渐显示
- 怎样安全地向后台传递隐藏参数
- 怎样实现像 Figma 那样禁用触摸板缩放
- 一机双屏协同下点击主屏按钮让副屏弹出对话框并同步修改的实现方法