这是我参与「第五届青训营 」伴学笔记创作活动的第 6 天
本堂课重点内容:
通过和JS比较了解TS
详细知识点介绍
什么是TS?
静态类型:
- 可读性增强、可维护性增强
- 多人合作的大型项目中,获得更好的稳定性和开发效率
TS的基础数据类型
- 左JS,右TS
- 数组类型
// 方式1: let 数组变量名:数据类型[] = [值1,值2]
var arr: number[]= [1, 2, 3, 4]
// 方式2: let 数组变量名:Array<类型> = [值1,值2]
var arr: Array<number>= [1, 2, 3, 4]
特点:元素类型固定,长度不限制
- tupel(元组)类型:一个规定了元素数量和每个元素类型的”数组“,而每个元素的类型可以不相同。
使用方式:
// 方式: let 元组名:[类型1,类型2,类型3] = [值1,值2,值3]
let arr: [string, number, boolean] = ['fly', 18, true]
为什么需要元组?
TS中数组元素类型必须一致,如果需要不同元素,可以使用元组。
特点:声明时,需要制定元素的个数;声明时,需要为每个元素设置类型
TS对象类型
TS补充类型
TS高级数据类型
联合、交叉类型
注:定义booklist时,根据type的不同来补全与之对应的另外一种类型信息
TS函数返回值类型
- 关键字extends 跟随泛型出现时,表示类型推断,其表达可类比三元表达式
如 T === 判断类型?类型A:类型B - 关键字infer 出现在类型推荐时,表示定义类型变量,可以用于指代类型
TS工程应用
Web应用
- 配置webapack loader相关配置
- 配置tsconfig.js文件
- 运行webpack启动/打包
- loader处理ts文件时,会进行编译与类型检查
Node应用
- 安装Node与npm
- 配置tsconfig.js文件
- 使用npm安装tsc
- 使用tsc运行编译得到js文件