Type Manipulation
用类型创建类型
TypeScript 的类型系统非常强大,因为它允许用其他类型来表达类型。
这种想法最简单的形式就是泛型。此外,我们还有各种各样的类型运算符可供使用。我们也可以用已有的值来表达类型。
通过组合各种类型运算符,我们可以用简洁、易维护的方式表达复杂的运算和值
- Generics - 接受参数的类型
- Keyof Type Operator - 使用
keyof来创建新类型 - Typeof Type Operator - 使用
typeof来创建新类型 - Indexed Access Types - 使用
Type['a']语法来访问类型的子集syntax to access a subset of a type - Conditional Types - 在类型系统中表现得像 if 语句的类型
- Mapped Types - 通过映射现有类型中的每个属性来创建类型
- Template Literal Types - 通过模板文字字符串改变属性的映射类型