如何为enum
中的以下typescript
设置显式初始化?
enum BloodGroup {
OPositive = "O +ve",
ONegative = "O -ve",
APositive = "A +ve",
ANegative = "A -ve",
}
需要类似的东西(知道这不起作用)
enum BloodGroup {
OPositive = "O +ve" = 1
}
答案 0 :(得分:4)
在打字稿中,enums are represented as values on an object。与基于Java的枚举不同,每个条目都不是其自己的对象实例,并且条目也不保存在数组中,否则该数组会给出一个方便的“数字”(在Java中,该数字也是从零开始的,并且会自动赋值而不会覆盖)。有了这些,本地枚举就不可能同时具有字符串值和整数值。
不过,您可以单独保留这些值:
enum BloodGroup {
OPositive = 1,
ONegative = 2,
APositive = 3,
ANegative = 4,
}
function labelForBloodGroup(group: BloodGroup) {
switch (group) {
case BloodGroup.OPositive:
return "O +ve";
case BloodGroup.ONegative:
return "O -ve";
case BloodGroup.APositive:
return "A +ve";
case BloodGroup.ANegative:
return "A -ve";
}
}