Typescript入门 | 青训营笔记

54 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 6 天

本堂课重点内容:

通过和JS比较了解TS

详细知识点介绍

什么是TS?

静态类型:

  • 可读性增强、可维护性增强
  • 多人合作的大型项目中,获得更好的稳定性和开发效率

TS的基础数据类型

  • 左JS,右TS

image.png

  • 数组类型
  // 方式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对象类型

5a30760c029d3a5de5d63a867b8dc1a.jpg

TS补充类型

a9543acc57c7a4249d63846173ab91b.jpg

TS高级数据类型

联合、交叉类型

665ed2dc6508bf939511f1e412350e0.jpg

注:定义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文件