技术文摘
typescript的条件类型都有啥
typescript的条件类型都有啥
在TypeScript的类型系统中,条件类型是一项强大的功能,它允许我们根据条件来选择不同的类型。这极大地增强了类型的灵活性和表达力,下面就来详细了解一下都有哪些常见的条件类型。
首先是 T extends U? X : Y 这种基本的条件类型语法。它的含义是:如果类型 T 能够赋值给类型 U,那么结果类型就是 X;否则,结果类型为 Y。例如,number extends string? 'yes' : 'no',由于 number 类型不能赋值给 string 类型,所以这个条件类型的结果是 'no'。
Exclude<T, U> 是用于从类型 T 中排除类型 U 中存在的类型。比如 Exclude<number | string | boolean, string>,其结果就是 number | boolean,它把 T 中与 U 相同的 string 类型排除掉了。
Extract<T, U> 与 Exclude 相反,它用于提取类型 T 中与类型 U 重叠的部分。例如 Extract<number | string | boolean, number | boolean>,结果为 number | boolean,它提取出了 T 中与 U 相同的类型。
NonNullable<T> 用于移除类型 T 中的 null 和 undefined 类型。比如 NonNullable<number | null | undefined>,结果是 number,通过这个条件类型,我们可以很方便地处理可能包含 null 或 undefined 的类型,确保代码在使用这些类型时更加安全。
ReturnType<T> 则是获取函数类型 T 的返回值类型。假设我们有一个函数 function add(a: number, b: number): number { return a + b; },那么 ReturnType<typeof add> 的结果就是 number,这在需要精确获取函数返回值类型时非常有用。
InstanceType<T> 用于获取构造函数类型 T 的实例类型。例如 class Person { name: string; constructor(name: string) { this.name = name; } },InstanceType<typeof Person> 的结果就是 Person 实例的类型,方便我们在处理类和实例相关的类型操作时进行类型推导。
这些条件类型在TypeScript的代码编写中发挥着重要作用,能够帮助开发者更精准地处理类型,提升代码的可靠性和可维护性。
TAGS: typescript条件类型 条件类型分类 常见条件类型 条件类型作用
- Win11 右键无刷新的解决之道
- Win11 照片查看器的设置方式
- Win11 玩 LOL 掉帧的解决之道
- 老电脑升级 Win11 绕过检测的方法及批处理命令
- Windows11无法回退的解决办法及Win11退回Win10教程
- Win11 多桌面功能的使用方法
- Win11 窗口背景颜色的设置方式
- Win11 系统画图工具消失 应对策略
- Win11 浏览器无法联网的解决之道
- 如何解决 Win11 内存占用高的问题
- Win11 中 IE 浏览器的位置与打开方式介绍
- Win11 系统 C 盘预留多大空间合适
- Win11 C 盘满了,如何清理垃圾且不误删?清理方法在此
- Win11 快捷键与 Win10 异同详细解析
- Win11 C 盘满了如何扩容?Win11 C 盘扩容指南