TypeScript枚举之外的值没有错误

时间:2015-12-14 15:36:22

标签: enums typescript

希望这可能会产生编译时错误,但我想我误解了枚举是如何工作的......

enum SortDirection {
    ascending = 1,
    descending = -1
}
type IndexSpec = {[index: string]: SortDirection};

var i: IndexSpec = {thing: 3};  // no compile time error

1 个答案:

答案 0 :(得分:3)

所有数值都被视为值枚举值。

这是允许的,因为flag和non-flag枚举之间没有区别:

enum MyFlags {
  Cool = 0x1,
  Awesome = 0x2,
  Neat = 0x4
}

var i: MyFlags = 5; // Cool | Neat