这是我参与11月更文挑战的第18天,活动详情查看:2021最后一次更文挑战
前言
现在 TypeScript + Vue3 应用特别广了, 如果不学习, 总感觉跟不上大厂的步伐了. 学习 TypeScript(虽然觉得也是可选的,但还是要学,真卷...) 这里记录学习 TypeScript 的过程, 收录在 TypeScript 实战专栏
回顾上一篇: 学习了 TS 的枚举类型/ 枚举类型概念及分类/ 数字枚举 举例以及枚举类型的使用方法
本文来学习较 JavaScript 没有而 TS 的类型: 枚举类型(二)
1. Typescript 文档
Typescript 官网地址: typescriptlang.org/zh/
Typescript 文档地址:Basic Types
TypeScript 枚举类型(二)
这里学习下其他的一些枚举类型
枚举类型分类
TypeScript 支持数字的和基于字符串的枚举
- 数字枚举(上文)
- 字符串枚举
- 常量枚举
- 异构枚举
- 联合枚举 与枚举成员的类型
枚举类型的使用:
- 字符串枚举:
对比上文学的 数字枚举的自增行为, 字符串枚举没有自增长的行为
在一个字符串枚举里,每个成员都必须用字符串字面量,或另外一个字符串枚举成员进行初始化。
// 数字枚举 成员为 数值
/// 这时 UP 将从 1 开始, 依次类推 Down 为 2
enum Direction {
Up = 1,
Down,
Left,
Right,
}
// 这时给枚举初始化 是一个字符串, 其他成员都是字符串
enum Direction {
Up = 'UP',
Down = 'DOWN',
Left = 'LEFT',
Right = 'RIGHT',
}
使用字符串枚举
字符串枚举允许你提供一个运行时有意义的并且可读的值,独立于枚举成员的名字。
- 异构枚举(Heterogeneous enums)
枚举可以混合字符串和数字成员, 但是看到下面的代码, 或许就不会这么使用了 e
enum BooleanLikeHeterogeneousEnum {
No = 0,
Yes = 'YES',
}
-
联合枚举与枚举成员的类型
存在一种特殊的非计算的常量枚举成员的子集:字面量枚举成员。 字面量枚举成员是指不带有初始值的常量枚举成员,或者是值被初始化为:
- 任何字符串字面量(如:
"foo","bar","baz") - 任何数字字面量(如:
1,100) - 应用了一元
-符号的数字字面量(例如:-1,-100)
- 任何字符串字面量(如:
Vue3 学习实战系列更文:
- Vue3 源码学习-工具函数 utils(二)
- Vue3-初体验,
- Vue3-
生命周期和setup()函数, - Vue3-
computed & watch, - Vue3-
Teleport改变组件挂载的根节点, - Vue3-
Suspense处理异步请求, - Vue3-
defAsyncComponent异步组件(新增), - Vue3-
fragments(新增), - Vue3-
v-model(非兼容),
- Vue3 源码仓库
vue-next: github.com/vuejs/vue-n… - Vue3.x 官方中文文档: v3.cn.vuejs.org
-
TypeScript 系列: