# 概述

TypeScript 的类型系统非常强大,因为它允许用其他类型来表示类型。

这种思想最简单的形式是泛型,我们实际上有各种各样的类型操作符可用。也可以用我们已有的值来表示类型。

我们将介绍用现有类型或值表示新类型的方法。

  • 泛型 通过接受类型创建新的类型
  • keyof 类型操作符 使用 keyof 创建新的类型
  • typeof 通过 typeof 创建新的类型
  • 索引访问类型 通过 Type['a'] 语法获取类型的子集
  • 条件类型 通过条件语句获取新的类型
  • 映射类型 通过映射现有类型中的每个属性来创建类型
  • 模板字符串类型 通过模板字面值字符串更改属性的映射类型