基础类型:
- number:用于表示数字
- string:用于表示文本数据
- boolean:用于表示逻辑值,即 true 或 false
- symbol:用于表示唯一的、不可变的值
- null 和 undefined:用于表示空值或未定义的值
- void:通常用于表示没有返回值的函数
- any:用于表示任意 JavaScript 值。使用 any 会失去 TypeScript 的类型检查能力,所以应谨慎使用
对象类型:
- {} 或 object:用于表示非原始值(即对象或数组)
- 接口(interface):用于定义对象的结构
- 类型别名(type):与接口类似,但更灵活,可以定义更复杂的类型
数组和元组:
- 数组类型:例如 number[] 或 string[]
- 元组(tuple):固定长度和类型的数组,例如 [string, number]
函数类型:
- 可以直接定义函数的参数和返回值的类型。
- 使用箭头函数语法来定义函数类型。
联合和交叉类型:
- 联合类型(|):表示一个值可以是多个类型之一。例如 string | number。
- 交叉类型(&):表示一个值同时满足多个类型。例如 Person & Employee。
字面量类型:
- 字面量类型允许你指定变量只能是特定的值或字符串。例如 type EventNames = 'click' | 'scroll' | 'mouseover';。
映射类型:
- 基于另一个类型创建新类型的方式,例如 Partial
、Readonly 等。
条件类型:
- 根据条件返回不同的类型,例如 T extends U ? X : Y。
枚举类型(enum):
- 枚举类型定义了一组具名的数值常量。
索引类型:
- 用于表示对象属性的类型,例如 { [key: string]: number }。
类型推断:
- TypeScript 会在没有显式类型注解的地方进行类型推断。