TypeScript 创建类型
-
从类型创建类型
-
ypeScript 的类型系统非常强大,因为它允许用其他类型表示类型。最简单的形式是泛型,我们实际上有多种类型的运算符可供使用。也可以用已有的值来表示类型。
-
泛型
-
软件工程的一个重要部分就是构建组件,不仅具有定义良好且一致的 API,而且可重用的组件。好的组件不仅能够兼容现今的数据类型,也能适用于未来可能出现的数据类型,这在构建大型软件系统时会给你最大的灵活度。
-
keyof 操作符
-
对一个对象类型使用keyof操作符,会返回该对象属性名组成的一个字符串或者数字字面量的联合。
-
typeof 操作符
-
TypeScript 添加的 typeof 方法可以在类型上下文(type context)中使用,用于获取一个变量或者属性的类型。
-
索引访问类型
-
们可以使用索引访问类型(indexed access type)查找另外一个类型上的特定属性。因为索引名本身就是一个类型,所以我们也可以使用联合、keyof或者其他类型。
-
条件类型
-
很多时候,我们需要基于输入的值来决定输出的值,同样我们也需要基于输入的值的类型来决定输出的值的类型。条件类型(Conditional types)就是用来帮助我们描述输入类型和输出类型之间的关系。
-
映射类型
-
有的时候,一个类型需要基于另外一个类型,但是你又不想拷贝一份,这个时候可以考虑使用映射类型。映射类型基于索引签名的语法,用于声明尚未提前声明的属性类型。
-
模板字面量类型
-
模板字面量类型以字符串字面量类型为基础,可以通过联合类型扩展成多个字符串。它们跟 JavaScript 的模板字符串是相同的语法,但是只能用在类型操作中。当使用模板字面量类型时,它会替换模板中的变量,返回一个新的字符串字面量。