typescript枚舉類型編譯後代碼技巧

var Tristate;
(function(Tristate) {
  Tristate[(Tristate['False'] = 0)] = 'False';
  Tristate[(Tristate['True'] = 1)] = 'True';
  Tristate[(Tristate['Unknown'] = 2)] = 'Unknown';
})(Tristate || (Tristate = {}));
enum Tristate {
  False,
  True,
  Unkown
}

console.log(Tristate[0]); // 'False'
console.log(Tristate['False']); // 0
console.log(Tristate[Tristate.False]); // 'False' because `Tristate.False == 0`

Tristate[(Tristate['False'] = 0)] = 'False';

這種寫法,簡單,方便,高效,一行搞定兩種訪問方式,既可以用0訪問對象,也可以用字符串訪問

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章