深入探究 TypeScript 中的各类类型特性
1. 枚举类型(Enumerations)
在 TypeScript 中,枚举类型是开放的。这意味着在同一个根目录下,所有同名的声明都会合并为一个类型。当在多个代码块中定义枚举时,第一个声明之后的后续代码块必须指定用于延续序列的数值。
enum BoxSize {
Small,
Medium
}
//...
enum BoxSize {
Large = 2,
XLarge,
XXLarge
}
这里的枚举 BoxSize 被分割在两个代码块中,后续代码块里的 Large 明确指定了数值 2 以延续序列。对于使用者而言,这种多代码块声明的枚举和单代码块声明的枚举并无区别。
需要注意的是,“共同根目录”这一术语源自图论,在 TypeScript 里,它与程序模块树中的特定位置相关。当考虑合并声明时,它们必须具有相同的完全限定名,即在模块树的同一层级具有相同的名称。
位标志(Bit Flags)
可以使用枚举来定义位标志。位标志允许通过打开或关闭序列中的单个位来选择或取消选择一系列项。为确保枚举中的每个值对应一个单独的位,编号必须遵循二进制序列,即每个值是 2 的幂,例如:1, 2, 4, 8, 16, 32 等。
enum DiscFlags {
None =
超级会员免费看
订阅专栏 解锁全文
2万+

被折叠的 条评论
为什么被折叠?



