TypeScript · Essencial · Inglês · Técnico
enum
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'.