Typescript中的动态枚举键

时间:2019-03-02 11:18:19

标签: typescript

假设我已经定义

enum Sort {
  nameAsc = 'nameAsc',
  nameDesc = 'nameDesc'
}

我可以做这样的事情吗?

const key = 'name' + 'Desc';
Sort[key]

预先感谢

1 个答案:

答案 0 :(得分:1)

此:

// index.ts
enum Sort {
    nameAsc = 'nameAscValue',
    nameDesc = 'nameDescValue'
}
const key = 'name'+'Desc';
console.log(Sort[key]);

编译为(使用tsc index.ts):

// index.js
var Sort;
(function (Sort) {
    Sort["nameAsc"] = "nameAscValue";
    Sort["nameDesc"] = "nameDescValue";
})(Sort || (Sort = {}));
var key = 'name' + 'Desc';
console.log(Sort[key]);

哪些输出(使用node index.js):

nameDescValue