深入浅出TypeScript丨青训营

54 阅读1分钟

为什么要学习TS

  • TSJS
    JS的超集脚本语言
    强类型弱类型
    编译期间发现错误运行时发现错误
    不允许改变数据类型变量有不同的数据类型
  • Awesome TypeScript:TS开源教程及应用
  • ByteTech:TS&React
  • TypeScript Playground:TS到JS在线编译

TS基础

  • 基础类型
    • bool,number,string
    • 枚举enum
    • any,unknown,void
    • never
    • 数组
    • 元组tuple
  • 函数类型
    • function add(x:number[]):number{}
  • 接口-interface
    • 定义:接口是为了定义对象类型
    • 特点:可选属性、只读属性;描述自定义属性
  • 类:
    • 和JS差不多,增加了public等三个关键字、抽象类、interface约束类

TS进阶

  • 高级类型:
    • 联合类型:|
    • 交叉类型:&
    • 类型断言
    • 类型别名:type & interface
    • 泛型<T>:可重用性
      • typeof:获取类型
      • keyof:获取所有键
      • in:遍历枚举类型
      • T[K]:索引访问
      • extends:泛型约束
      • 工具类型:Partial,Required,Readonly,Pick...

实战&工程向

  • 声明文件
    • declare:第三方库
    • .d .ts:声明文件定义
    • @types:三方库TS类型包
    • tsconfig.json:定义TS的配置
  • 后端接口约束