TypeScript · Intermediário · Inglês · Técnico
const enum
Enum declarado com const, cujos usos são substituídos pelos valores literais na compilação, sem gerar o objeto em runtime.
Onde usar
Aparece em PR como micro-otimização de bundle. O risco é com transpiladores que compilam arquivo a arquivo, que não enxergam o enum declarado em outro arquivo; por isso muitos projetos evitam o recurso.
Em código
const enum Dir { Cima, Baixo }
const d = Dir.Baixo;
// JS gerado: const d = 1 /* Dir.Baixo */;Exemplos
Switch to const enum so the object is inlined.
Troque para const enum para o objeto ser inlinado.
const enum breaks when the build tool compiles file by file.
const enum quebra quando a ferramenta de build compila arquivo por arquivo.
Cuidado
Não é um enum imutável: const enum é apagado na compilação, e por isso não dá para iterar sobre ele nem consultá-lo em runtime.
Sinônimos
enum constante