TypeScript 高级类型特性全解析
1. 条件类型基础
条件类型允许我们根据条件来选择类型。以下是一个简单的条件类型示例:
type IsString<T> = T extends string
? true
: false
type A = IsString<string> // true
type B = IsString<number> // false
这里定义了一个条件类型 IsString ,它接受一个泛型类型 T 。条件部分是 T extends string ,即判断 T 是否是 string 的子类型。如果是,则返回 true 类型;否则返回 false 类型。
条件类型的语法类似于值级别的三元表达式,但它是在类型级别上操作的,并且可以嵌套使用。条件类型不仅可以用于类型别名,还可以在接口、类、参数类型以及函数和方法的泛型默认值等地方使用。
2. 分布式条件类型
条件类型遵循分配律,这使得它们在处理联合类型时非常强大。以下是分配条件类型的示例表格:
| 原表达式 | 等效表达式 |
| — | — |
| string extends T ? A : B | string
订阅专栏 解锁全文
40

被折叠的 条评论
为什么被折叠?



