Enum in Object literal

时间:2017-04-30 16:06:18

标签: typescript

我期望TheWall在TileSpecs文字中为0,但它没有。为什么以及如何解决这个问题?

enum Tile = {WALL, BORDER}
const TheWall: Tile = Tile.WALL;

console.log(TheWall) // Prints 0

let TileSpecs = {
  TheWall: {prop: 'value'}
}

console.log(TileSpecs) // Prints TheWall: {...} 

1 个答案:

答案 0 :(得分:3)

要将TheWall常量用作属性名称,您需要使用computed property name语法:

let TileSpecs = {
  [TheWall]: {prop: 'value'}
}