从类型创建类型
TypeScript 的类型系统非常强大,因为它允许用其他类型表示类型。
这种想法最简单的形式是泛型,我们实际上有多种类型的运算符可供使用。也可以用已有的值来表示类型。
通过组合各种类型运算符,我们可以以简洁、可维护的方式表达复杂的操作和值。在本节中,我们将介绍用现有类型或值表示新类型的方法。
- 泛型:接受参数的类型
- Keyof Type 运算符:使用
Keyof
运算符创建新类型。 - Typeof Type运算符:使用
Typeof
运算符创建新类型。 - 索引访问类型:使用
Type['a']
语法访问类型的子集。 - 条件类型:类型系统中类似
if
语句的类型。 - 映射类型:通过映射现有类型中的每个属性来创建类型。
- 模板文字类型:通过模板文字字符串更改属性的映射类型。