前端TS|青训营笔记

78 阅读2分钟

为什么要学习TypeScript? 1.TS带来了什么:类型安全 包含一些编译器支持一些js新特性,借助一些工具可以更容易理解代码

TS基础

简单数据类型:

1.boolean、number( 64 位浮点值。它可以用来表示整数和分数)、string 2.枚举enum可以给一组数值赋予名字,在使用时,就可以使用名字而不需要记数字和名称的对应关系 3.any(任意类型)、unknown、void 4.never永远不存在值的类型 5.数组类型[] 6.元组类型tuple

函数类型:

定义:TS在定义函数类型时要定义输入参数类型和输出类型 输入参数:参数支持可选参数和默认参数 输出参数:输出可以自动与i段,没有返回值时,默认为void类型 函数重载:名称相同但参数不同,可以通过重载支持多种类型 (多次定义同一个函数类型)

接口

解释:接口是一系列抽象方法的声明,是一些方法特征的集合,这些方法都应该是抽象的,需要由具体的类去实现,然后第三方就可以通过这组抽象方法调用,让具体的类执行具体的方法 定义:为了定义对象类型 特点: -可选属性:? -只读类型:readonly -可以描述函数类型 -可以描述自定义类型 总结:接口非常灵活 duck typing

类:

定义:通过 Class 关键字来定义一个类, 使用 constructor 定义构造函数。 特点: -增加了public、private、protected修饰符 -抽象类: --只能被继承,不能被实例化 --作为基类,抽象方法必须被子类实现 -interface约束类,使用implements关键字

TS进阶

高级类型:

1.联合类型 | 2.交叉类型& 3.类型断言 4.类型别名 -定义:给类型起个别名 -相同点: 1.都可以定义对象或函数 2.都允许继承 -差异点 1.interface是TS用来定义对象,type是用来定义别名方便使用 2.type可以定义基本类型,interface不行 3.interface可以合并重复声明,type不行

泛型

定义: 1泛型的语法是<>里面写类型参数,一般用T表示; 2.使用时有俩种方法指定类型: 1 .定义要使用的类型 2 .通过TS类型推断,自动推导类型 3.泛型的作用是临时占位,之后通过传来的类型进行推导 基础操作符 -typeof:获取类型 -keyof:获取所有键 -in:遍历枚举类型 -T[K]:索引访问 -extends:泛型约束 常用工具类型: -Partial:将类型属性变为可选 -Record<K, T>类型参数K提供了对象属性名联合类型,类型参数T提供了对象属性的类型 -Readonly将类型属性变为只读

TS实战

-declare第三方库需要类型声明文件 -.d.ts声明文件定义 -@types:三方库TS类型包

总结: 有一定的学习成本,需要理解接口(Interfaces)、泛型(Generics)、类(Classes)、枚举类型(Enums)等前端工程师可能不是很熟悉的概念,开发环境启动和生产环境打包都是考验.