定义一些带名字的常量, 相对对象更加安全
// 枚举属性如果不设置默认值的话, 属性从 0 开始往后递增
enum Color {
red,
blue,
green
}
console.log(Color.red) // 0
// 常量类型支持反向映射
const alignRed = Color.red
console.log(Color[alignRed]) // 'red'
// 枚举类型是只读的,是类型安全的
Color.red = 'red' // 无法分配到 "red" ,因为它是只读属性。
enum ServerStatus {
SUCCESS = 200, // 请求成功
REDIRECT = 301, // 重定向
SERVICEERROR = 500, // 服务器异常
NOTFOUND = 404 // 接口丢失
}
// 枚举除了数字也可以说是字符串
enum ServerStatus {
SUCCESS = 'SUCCESS', // 请求成功
REDIRECT = 'REDIRECT', // 重定向
SERVICEERROR = 'SERVICEERROR', // 服务器异常
NOTFOUND = 'NOTFOUND' // 接口丢失
}
// 枚举可以混合字符串和数字成员
enum Mixed {
No = 0,
Yes = 'YES'
}
网友评论