下面来补充 TS 中支持的另外两种特性。
参考文档:Type Aliases
TS 允许你使用 type
关键字给冗长的类型起一个别名,让它可以更方便的被重用。
type PlusType = (x: number, y: number) => number
let sum: PlusType
let sum2: PlusType
// 支持联合类型
type StrOrNumber = string | number
let result2: StrOrNumber = '123'
result2 = 123
在类型声明处甚至可以填入字面值,它的功能和枚举一样?
// 最简单的字面值类型
let one: 1 = 1
// 联合类型 + 字面值实现类似枚举类型的效果
type Weekdays = 1 | 2 | 3 | 4 | 5
// 字符串字面量
type Directions = 'Up' | 'Down' | 'Left' | 'Right'
let toWhere: Directions = 'Up'