介绍了类型检查机制本篇深入探索高级类型。
交叉类型将多个类型合为一个类型: T & U
联合类型表示一个值可以是几种类型之一: T | U
具有联合类型的值只能访问类型的共有成员
keyof T
:表示为 T 的公有属性名的联合
映射类型可以基于旧类型创建新类型
[K in T]: Type
:类型变量 K
会把字符串字面量联合类型 T
的每个字符串都映射为属性
在映射類型中新类型可以相同的形式转换旧类型中的每个属性,例如例如,可以将类型的所有属性设置为可选或只读
由于转换为只读或可選等功能非常有用,它们被包含在TypeScript的标准库中, 详情见下篇
条件类型中的类型推断:在 extends
子句中允许使用 infer
声明一个类型变量,可以在 true 分支中被引用
本篇介绍了类型的高级类型将探索 TypeScript 提供的实用工具类型。