枚举类型是TS为JS扩展的一种类型, 在原生的JS中是没有枚举类型的
枚举用于表示固定的几个取值
例如: 一年只有四季、人的性别只能是男或者女
enum sex { // 定义名称为 sex 两个枚举值分别为 male, female
male,
female
}
let value = sex.male
let value1 = sex.female
console.log(value); // 0
console.log(value1); // 1
总结:
赋值字符串的时候会提示错误 而数字类型不会
TS中的枚举底层实现的本质其实就是数值类型, 所以赋值一个数值不会报错
value = '羽神天下第一' // 提示错误
console.log(value);
value = 123 // 无措
console.log(value);
我们可以通过枚举值拿到它对应的数字
console.log(sex[0]); // male
console.log(sex[1]); //female
TS中的枚举类型的取值, 默认是从上至下从0开始递增的
虽然默认是从0开始递增的, 但是我们也可以手动的指定枚举的取值的值
注意点: 如果手动指定了前面枚举值的取值, 那么后面枚举值的取值会根据前面的值来递增
num sex { // 定义名称为 sex 两个枚举值分别为 male, female
male = 57,
female
}
console.log(sex[57]); // male
console.log(sex[58]); //female