ts中的枚举
文章类型:TypeScript
发布者:hp
发布时间:2023-05-31
一:定义
1:是一种数据类型,用于定义一组数据的常量,说白了就是一组有名字的常量集合
二:类型
1:数字枚举 :从0开始,如果改变默认值,则后面从默认值开始+(反向映射)
enum Types{
man,
woman
}
console.log(Types) //{0: 'man', 1: 'woman', man: 0, woman: 1}
enum Types{
man=2,
woman
}
console.log(Types) //{2: 'man', 3: 'woman', man: 2, woman: 3}
2:字符串枚举
enum Types{
success='成功',
err='失败'
}
console.log(Types)
3:异构枚举(字符串和数字 )
enum Types{
man,
err='失败'
}
console.log(Types)
三:性质
1:枚举类型的值是可读的,不允许修改
enum Types{
man,
err='失败'
}
Types.man=1 //TS2540: Cannot assign to 'man' because it is a read-only property.
console.log(Types)
2:常量枚举(const),会在编译得时候计算结果,以常量的结果出现在运行环境,
A:没有初始值
B:对已有枚举成员的引用
C:一些常量的表达式
3:计算型枚举(computed) 需要被计算的枚举成员,一些非常量的表达式,不会在编译阶段进行计算,而会被保留到执行阶段
enum FileAccess {
// 常量成员
None,
Read = 1 << 1,
Write = 1 << 2,
ReadWrite = Read | Write,
// 计算成员
G = "123".length,
}
4:外部枚举(环境枚举) 用来描述已经存在的枚举类型的形状(不会产生反向映射)
declare enum Enum {
A = 1,
B,
C = 2,
}
三:总结
1:在代码中使用有意义的名称来代替数字或者字符串,提高代码的可读性和可维护性