[ 前端与 HTML——TypeScript进阶 | 青训营笔记]

74 阅读1分钟

TypeScript进阶——高阶类型:

1.    联合类型 |

2.    交叉类型 &

3.    类型断言(就是定义了变量的类型,不需要进行更多的自动推倒,节省性能)

4.    类型别名(type vs interface)

-定义:给类型起个别名

-相同点: 1.都可以定义对象或函数2.都允许继承3. interface可以合并重复声明,type不行。

泛型,我们什么时候需要用到泛型?

软件工程中,我们不仅要创建一致的定义良好的API,同时也要考虑可重用性。组件不仅能够支持当前的数据类型,同时也能支持未来的数据类型,这在创建大型系统时为你提供了十分灵活的功能。在像C#和Java这样的语言中,可以使用泛型来创建可重用的组件,一个组件可以支持多种类型的数据。这样用户就可以以自己的数据类型来使用组件。

就是说我们需要用一个类型就解决输入输出可关联的问题

 

泛型基本定义:

基本定义: 1.泛型的语法是<>里面写类型参数,一般用T表示; 2.使用时有两种方法指定类型: 1.定义要使用的类型2.通过TS类型推断,自动推导类型3.泛型的作用是临时占位,之后通过传来的类型进行推导;

泛型基本操作符:
typeof:获取类型

keyof:获取所有键

in:遍历枚举类型

T[K]:索引访问

extends:泛型约束

泛型常用工具类型:

Partial:将类型属性变为可选

Required:将类型属性变为必选

Readonly:将类型属性变为只读

Pick、Record...

 

TypeScript实战——声明文件:

declare:三方库需要类型声明文件

.d.ts︰声明文件定义

@types:三方库TS类型包

tsconfig.json:定义TS的配置

 

可以使用泛型约束后端接口类型

在axios接口api中定义好预设的接口有哪些,变量的类型是什么

在请求的时候就必须满足对应的接口要求才可以正常使用