TypeScript枚举类型

本节课我们来开始了解 TypeScript 的枚举类型学习。

一.枚举类型

1. TypeScript 可以支持枚举 (enum) 类型,枚举是包裹关联变量的一种声明方式;
2. 它的优势很明显:代码看上去优雅很多,提高了可读性;
// 创建一个枚举
enum Weeks {
One,
Two,
Three,
Four
}
// 输出 Three,得到的是 2
// 说明默认值从 0 开始,依次+1 的赋值
console.log(Weeks.Three)
PS:如果我们在枚举声明的时候,改变某个枚举的值时,后续的值会根据它进行+1 赋值;
// 可以通过赋值来改变对应值,后面会根据这个值继续+1 赋值
enum Weeks {
One = 1,
Two,
Three,
Four
}

3. 我们可以声明一个变量,将这个变量限定为枚举类型,而枚举类型的值是数值型;
4. 那么,也就是说,虽然声明成枚举类型,但赋值为数值也是兼容的;
// 将变量 num 声明成 Weeks 枚举类型
// 枚举类型的值是数值的,以下兼容
let num : Weeks = 10
let three : Weeks = Weeks.Three

5. 当然,也可以强行将枚举值赋值为其它类型,比如字符串类型,但后续都必须赋值;
enum Weeks {
One,
Two = 'Mr.Lee',
Three = 'Mr.Wang',
Four = 'Mr.Zhang'
}
PS:当其中一个枚举设置了字符串型,后续所有枚举都必须显式的设置;

6. 枚举的值和枚举的名之间存在着映射关系,具体如下:
// 类似数组的语法:Weeks[0]可以得到枚举名
console.log(Weeks[0])

7. 使用 const 来限定这个枚举是常数,它和普通枚举的区别是编译时被删除;
// 常数枚举
const enum Info {
name = 'Mr.Lee',
age = 100
}
console.log(Info.age)

你可能感兴趣的:(JavaScript,typescript,javascript,前端)