Typescript入门 | 青训营

74 阅读1分钟

ts 基础

参考资料:

ts 到 js 在线编译

开源教程

基础类型

  1. boolean、number、string
  2. 枚举 enum
  3. any、unknown、void
  4. never
  5. 数组类型[]
  6. 元组类型 tuple

函数类型

ts 定义函数时需要定义输入参数类型和输出类型 输入参数:可选参数 or 默认参数 函数重载 输出参数:可以自动推断,无返回值时,默认 void 函数重载

interface

接口是为了定义对象类型 可选属性:? 只读属性:readonly 可以描述函数类型 可以描述自定义属性

与 js 相比: 增加 public、private、protected 修饰符 抽象类:只能继承、不能实例化 作为基类,抽象方法必须被子类实现 interface 约束类,使用 implements 关键字

进阶

高级类型

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

泛型

<类型参数> 临时占位 自动推导

基础操作符

typeof 获取类型 keyof 获取所有键 in 遍历 T[K] 索引访问 extends 泛型约束

常用工具类型

Partial 可选 Required 必选 Readonly 只读 Pick、Record

实战

声明文件

declare 声明文件 .d.ts 声明文件定义 @types 三方库 ts 类型包 tsconfig.json 定义 ts 的配置