《深入浅出TS》| 青训营笔记

69 阅读1分钟

深入浅出TS

为什么学习TS

TS vs JS

image.png 超集、强类型、编译、严格

TS推荐

image.png

TS基础

基础类型

Boolean、number、string

枚举类型:一种映射,从枚举名到枚举值映射与反映射

any、unknown、void:未知?

never:永远没有值的类型

数组类型:[]

元组类型 tuple

函数类型

TS中函数要定义输入参数类型和输出类型;

输入参数支持可选参数与默认参数;

输出参数支持自动推断,无返回值时,默认为void类型;

支持重载;

interface接口类型

接口是为了定义对象类型;

特点:可选属性;只读属性;描述函数类型;描述自定义属性

与JS类似,新增 public、private、protected修饰符;

抽象类 abstract:只能继承不能实例化的类;作为基类,抽象方法必须被子类实现

约束类,使用implements关键字

TS进阶

高级类型

联合类型 |

交叉类型 &

类型断言 arg as XXX

类型别名

image.png

泛型

what?

image.png

when?

image.png style="zoom:33%;

how?

image.png style="zoom:33%;

操作符

typeof 获取类型;

keyof 获取所有键;

in 遍历枚举类型;

T[K] 索引访问;

extends 泛型约束;

泛型工具类型

image.png style="zoom:33%;

TS实战

声明文件

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

.d.ts: 声明文件定义

@types: 三方库TS类型包

tsconfig.json:定义TS的配置

课程总结

image.png style="zoom:33%;