语法特性
- 类 Classes
- 接口 Interfaces
- 模块 Modules
- 类型注解 Type annotations
- 编译时类型检查 Compile time type checking
- Arrow 函数 (类似 C# 的 Lambda 表达式)
TypeScript 基础语法
TypeScript 程序由以下几个部分组成:
- 模块
- 函数
- 变量
- 语句和表达式
- 注释
TypeScript 与面向对象
面向对象是一种对现实世界理解和抽象的方法。
TypeScript 是一种面向对象的编程语言。
面向对象主要有两个概念:对象和类。
- 对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
- 类:类是一个模板,它描述一类对象的行为和状态。
- 方法:方法是类的操作的实现步骤。
TypeScript 基础类型
- boolean、number、string
- 枚举 enum
- any、unknown、void
- never
- 数组类型[]
- 元组类型 tuple(元组类型用来表示已知元素数量和类型的数组,各元素的类型不必相同,对应位置的类型需要相同。)
注意: TypeScript 和 JavaScript 没有整数类型。
TypeScript 高级类型
-
联合类型
| -
交叉类型
& -
类型断言
-
类型别名
-
泛型(如果说 TypeScript 是一门对类型进行编程的语言,那么泛型就是这门语言里的函数参数。)
泛型中常用的操作符:
typeof获取类型keyof获取所有键in遍历枚举类型T\[K]索引访问extends泛型约束
常用的泛型工具:
-
Partial:将类型属性变为可选
-
Required:将类型属性变为必选
-
Readonly:将类型属性变为只读
-
Pick、Record
TypeScript 声明文件
-
declare:三方库需要类型声明文件
-
.d.ts:声明文件定义
-
@types:三方库TS类型包
-
tsconfig.json:定义TS的配置