preserveConstEnums
Typescript 支援通過 const enum
宣告的 costant 可列舉。
這通常只是語法糖,因為在編譯的 JavaScript 中內聯了常量列舉。
例如以下程式碼
const enum Tristate {
True,
False,
Unknown
}
var something = Tristate.True;
編譯成
var something = 0;
雖然效能可以從內聯中受益,但是你可能更喜歡保持列舉即使是恆定的(即:你可能希望開發程式碼的可讀性),為了做到這一點,你必須在 tsconfig.json 中將 preserveConstEnums
clausole 設定為 compilerOptions
到 true
。
{
"compilerOptions": {
"preserveConstEnums" = true,
...
},
"exclude": [
...
]
}
通過這種方式,前面的示例將被編譯為任何其他列舉,如下面的程式碼段所示。
var Tristate;
(function (Tristate) {
Tristate[Tristate["True"] = 0] = "True";
Tristate[Tristate["False"] = 1] = "False";
Tristate[Tristate["Unknown"] = 2] = "Unknown";
})(Tristate || (Tristate = {}));
var something = Tristate.True