TypeScript —枚举的应用
枚举的关键字:enum
语法:enum 枚举名{选项}
enum Sex{
boy='男',
girl='女'
}
如何使用枚举中的属性
enum Sex{
boy='男',
girl='女'
}
function a2(sex:Sex){
console.log(`张三的性别是:${sex}`)
}
a2(Sex.boy)
运行结果:
枚举的作用
1.提高代码可读性:通过使用枚举,我们可以给一组相关的常量赋予有意义的名称,使得代码更加易读易懂 例如:颜色
enum Color{
Red:'#ff0000',
Blue:'#0000ff',
Green:'#00ff00'
}
//使用颜色我们就可以利用枚举来直接使用
Color.Red //这里颜色是红色,方便看懂
2.约束取值范围:枚举类型可以限制变量的取值范围,只能从预定义的常量中选择。这样可以避免因为使用了不合法的取值而引发错误。例如,定义一个表示性别的枚举类型
enum Sex{
boy='男',
girl='女'
}
function a2(sex:Sex){
console.log(`张三的性别是:${sex}`)
}
a2(Sex.boy)
如果没有使用枚举来约束取值,那就有可能发生错误的情况:
function a(sex:string){
console.log(`张三的性别是:${sex}`)
}
a('男')
a('双性')
运行结果:
3.增加代码可维护性:通过使用枚举,我们可以集中管理一组相关的常量,便于后续的维护和修改。当需要增加或修改常量时,只需修改枚举定义即可,而不需要在代码中逐个搜索和修改
枚举的默认值以及命名规范
枚举的默认值是0,之后就递增+1
枚举类名首字母大写,选项首字母大写
enum Week{
Sunday, //默认从0开始
Monday, //默认递增1
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday
}
枚举赋值的错误演示
enum Week{
// 选项首字母大写
Sunday, //默认从0开始
Monday, //默认递增1
Tuesday=0,
Wednesday,
Thursday,
Friday,
Saturday
}
这样周一跟周三的值都是1,周日跟周二的值是0,这种写法禁止
如果赋值应该每个选项都分别赋值
枚举的选项也可以用中文来描述,但也不建议
enum Week{
// 周日,不需要添加字符串,相当于声明的变量名称是:周日
周日,周一,周二,周三,周四,周五,周六
}