ExpertiDict

TypeScript · Intermediário · Português · Técnico

mapeamento reverso de enum

/mapjaˈmẽtu ʁeˈvɛɾsu dʒi ˈenũ/substantivo masculino

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

Veja também

Todos os termos de TypeScript