使用高级 TypeScript 验证代码
1. 高级 TypeScript 验证代码概述
编写 JavaScript 并非易事,而 TypeScript 能为代码验证提供强大支持。它可通过添加和操作类型,让无效代码状态无法出现。TypeScript 有诸多实用特性,如联合类型、字面量类型、枚举、映射类型和实用类型等,还能通过配置改变编译器行为。
2. 创建联合类型
联合类型可通过管道运算符(|)组合现有类型来创建,现有类型可以是内置类型或自定义类型。例如:
export type VenueAction =
| ClearHolds
| HoldTicket
| InitFromProps
| SetTicketToBuy
| SetTickets
| UnholdTicket
可以使用 type
关键字为联合类型指定新名称,也可内联使用。当声明变量为特定类型成员时,能访问该类型的所有属性;而声明为联合类型成员时,只能访问联合中所有特定类型共有的方法或属性。
2.1 联合类型与类型保护
TypeScript 中的类型保护可让其明确能使用的特定类型。不同的联合类型可采用不同方式创建类型保护:
- typeof 关键字 :适用于 JavaScript 原始类型,如 number
、 string
、 boolean
、 symbol