例如,在接口的参数中,type字段的值只能为desk |car | food,这种有语意的枚举值可以使用字面量联合类型来声明
type paramsType = 'desk' |'car' | 'food'
但是如果type字段的值只能为1,2,3这种没有语意的枚举值,就可以使用枚举类型来声明
// 枚举:一组可选的常量
// 需求:0 1 2 3 上下左右
enum Direction {
Up = 0,
Down = 1,
Left = 2,
Right = 3
}
// 值默认是从0开始以此类推,up默认为0,Right为3
enum Direction {
Up,
Down,
Left,
Right
}
// 如果给了一个默认的数字,一样的,up赋了初始值,则Right为8
enum Direction {
Up = 5,
Down,
Left,
Right
}
// 可以是字符串
enum Direction {
Up = 'Up',
Down = 'Down',
Left = 'Left',
Right = 'Right'
}
//参数声明
const changeDirection = (direction: Direction) => {
console.log(direction)
}
//单独使用
changeDirection(Direction.Right)