TypeScript · Intermediário · Português · Técnico
mapeamento reverso de enum
Em enums numéricos, o compilador gera um objeto que mapeia nome para valor e valor para nome, permitindo obter o nome do membro a partir do número.
Onde usar
Aparece quando se quer mostrar o nome de um status vindo como número: Nivel[2]. Também explica por que Object.keys de um enum numérico devolve nomes e números misturados.
Em código
enum Nivel { Baixo, Medio, Alto }
console.log(Nivel.Alto); // 2
console.log(Nivel[2]); // 'Alto'
Object.keys(Nivel);
// ['0','1','2','Baixo','Medio','Alto']Exemplos
Esse lookup inverso só funciona porque o enum é numérico.
Enum de string não tem mapeamento reverso, então esse acesso por valor não existe.
Cuidado
Enums de string não têm mapeamento reverso: só o enum numérico gera as duas direções.
Sinônimos
reverse mapping