深入浅出 TypeScript | 青训营笔记

66 阅读2分钟

TypeScript

TypeScript 是一种由微软开发并开源的编程语言,它是 JavaScript 的一个超集,支持 JavaScript 的所有语法,并提供了诸如类型检查、接口、类、命名空间等强大的抽象特性。

屏幕截图 2023-05-10 212718.jpg

TypeScript 基础

1. 基础类型
  • boolean(布尔类型):表示 true 或 false。
  • number(数字类型):表示数值,可以是整数或浮点数。
  • string(字符串类型):表示文本数据。
  • null 和 undefined(空类型):表示空值,null 表示一个空对象引用,undefined 表示一个未定义的变量或属性。
  • any(任意类型):表示任何类型的值。如果某个变量或参数定义为 any 类型,则它允许存储任何类型的值。
  • void(无返回值类型):表示函数没有返回值。
  • never(永远不存在的类型):表示函数不会正常返回。
  • Array(数组类型):表示具有相同类型 T 的元素的数组。
  • Tuple(元组类型):表示元素数量和类型已知的数组,与数组不同的是,元组中的每个位置可以指定不同的类型。
  • enum (枚举类型) :给数值定义一个名字,提高可读性,而不是使用无意义的数字
2. 函数类型
  • 定义:TS定义函数类型时要定义输入参数类型和输出类型
  • 输入参数:参数支持可选参数和默认参数
  • 输出参数:输出可以自动推断,没有返回值时,默认为void类型
  • 函数重载:名称相同但参数不同,可以通过重载支持多种类型
3. interface

在 TypeScript 中,interface 是一种用来描述对象类型的语法。可以使用 interface 定义一个对象、函数等的形状,从而定义一些规范和规则。

4. 高级类型

TypeScript提供了许多高级类型,例如交叉类型、联合类型、类型别名、元组类型、映射类型、条件类型等。这些类型可以帮助我们更好地描述和组织代码,提高代码的可读性和可维护性。

泛型

  1. 泛型的语法<>里面写类型参数,一般用T表示;
  2. 使用时有两种方法指定类型:
    • 定义要使用的类型
    • 通过TS类型推断,自动推导类型
  3. 泛型的作用是临时占位,之后通过传来的类型进行推导;
基础操作符
  • typeof:获取类型
  • keyof:获取所有键
  • in:遍历枚举类型
  • T[K]:索引访问
  • extends:泛型约束

声明文件

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

屏幕截图 2023-05-10 222612.jpg

总结

屏幕截图 2023-05-10 223023.jpg