TypeScript
TypeScript 是一种由微软开发并开源的编程语言,它是 JavaScript 的一个超集,支持 JavaScript 的所有语法,并提供了诸如类型检查、接口、类、命名空间等强大的抽象特性。
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提供了许多高级类型,例如交叉类型、联合类型、类型别名、元组类型、映射类型、条件类型等。这些类型可以帮助我们更好地描述和组织代码,提高代码的可读性和可维护性。
泛型
- 泛型的语法<>里面写类型参数,一般用T表示;
- 使用时有两种方法指定类型:
- 定义要使用的类型
- 通过TS类型推断,自动推导类型
- 泛型的作用是临时占位,之后通过传来的类型进行推导;
基础操作符
typeof:获取类型keyof:获取所有键in:遍历枚举类型T[K]:索引访问extends:泛型约束
声明文件
- declare:三方库需要类型声明文件
- .d.ts:声明文件定义
- @types:三方库TS类型包
- tsconfig.json:定义TS的配置