我正在学习打字脚本,使用this ebook作为参考.我查看了TypeScript Official Documentation,但没有找到有关枚举标志的信息.
我正在学习打字脚本,使用this ebook作为参考.我查看了TypeScript Official Documentation,但没有找到有关枚举标志的信息.
它们是一种有效存储和表示布尔值集合的方法.
例如,以下面的标志枚举为例:
enum Traits {
None = 0,
Friendly = 1 << 0, // 0001 -- the bitshift is unnecessary, but done for consistency
Mean = 1 << 1, // 0010
Funny = 1 << 2, // 0100
Boring = 1 << 3, // 1000
All = ~(~0 << 4) // 1111
}
而不是像这样只能表示一个值:
let traits = Traits.Mean;
我们可以在一个变量中表示多个值:
let traits = Traits.Mean | Traits.Funny; // (0010 | 0100) === 0110
然后分别测试:
if ((traits & Traits.Mean) === Traits.Mean) {
console.log(":(");
}