ExpertiDict

TypeScript · Essencial · Inglês · Técnico

enum

/ˈiːnʌm/palavra-chave

Construção que agrupa constantes nomeadas em um tipo. Diferente da maioria dos recursos de tipo, gera um objeto real em JavaScript.

Onde usar

Em code review surge a pergunta 'enum ou union de strings?'. Muitos times preferem a union de literais por não gerar código, e reservam o enum para quando precisam de um objeto em runtime.

Em código

enum Status {
  Ativo = 'ATIVO',
  Inativo = 'INATIVO',
}
function ok(s: Status) {
  return s === Status.Ativo;
}
ok(Status.Inativo);

Exemplos

We replaced the enum with a union of strings.

Trocamos o enum por uma union de strings.

That enum generates an object in the bundle.

Esse enum gera um objeto no bundle.

Cuidado

Enum não é só tipo: ele gera um objeto em JavaScript, o que atrapalha ferramentas que apenas apagam tipos e deixa o bundle maior que uma union de literais.

Sinônimos

enumeração

Antônimos

union de literais

Origem

Abreviação de enumeration, do latim enumerare, 'contar um a um'.

Veja também

Todos os termos de TypeScript