3

Let's say I have defined

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

Can I do something like this?

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

Thanks in advance

kg2152
  • 168
  • 2
  • 12

1 Answers1

4

Yes

This:

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

Compiles to (using 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]);

Which outputs (using node index.js):

nameDescValue
Nino Filiu
  • 16,660
  • 11
  • 54
  • 84