2016-09-07 118 views
7

我正在學習使用this ebook作爲參考的TypeScript。我檢查了TypeScript Official Documentation,但我沒有找到有關枚舉標誌的信息。什麼是TypeScript中的枚舉標誌?

+1

在你引用的文檔中給出的'FileAccess'例子就是一個例子。您參考的電子書中的頁面有一個名爲「枚舉作爲標誌」的部分,其中描述了您要查找的內容,比下面的答案更詳細,包括如何使用「| ='等添加標誌。 – 2016-09-07 03:47:19

回答

20

它們是有效存儲和表示布爾值集合的一種方法。

例如,服用此標誌枚舉:

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) { 
    console.log(":("); 
} 
+0

'let traits = Traits.Mean | Traits.Funny'現在'traits'變量會有多個值,怎麼做呢?我將有'6'如何轉換爲'Traits.Mean | Traits.Funny'? – Sreekumar

0

標誌允許您檢查一組條件中的某個條件是否爲真。這是各種其他編程語言中的常見編程模式,例如這裏是一個關於C#的例子:Using Bitwise operators on flags

+2

但問題是關於TypeScript,特別是在枚舉上下文中使用標誌。 – 2016-09-07 05:15:54