我正在学习使用this ebook作为引用的TypeScript。我检查了TypeScript Official Documentation,但是找不到有关枚举标志的信息。

最佳答案

它们是有效存储和表示 bool(boolean) 值集合的一种方式。

例如,使用以下标志枚举:

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(":(");
}

关于typescript - TypeScript中的枚举标志是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39359740/

10-13 01:33