0Pricing
TypeScript Academy · Aula

Enumerações: constantes numéricas e de texto

Utilize enumerações para substituir textos e números mágicos

Enumerações: constantes numéricas e de texto é uma aula grátis de TypeScript Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de TypeScript Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de TypeScript Academy inclui 4 aulas no total.

Boas-vindas

As enumerações permitem definir um conjunto de valores constantes nomeados. Elas substituem números e strings mágicos por nomes legíveis que o TypeScript impõe.

Enumerações numéricas

Por padrão, os membros de uma enumeração recebem números incrementados automaticamente, começando em 0.
enum Direction {
  Up,    // 0
  Down,  // 1
  Left,  // 2
  Right, // 3
}
console.log(Direction.Up); // 0

Valores numéricos personalizados em enumerações

Você pode definir um valor inicial ou substituir membros individuais. Os membros seguintes são incrementados automaticamente a partir do último valor definido.
enum Status {
  Active = 1,
  Inactive, // 2
  Banned = 100,
}

Enumerações de strings

As enumerações de strings exigem um valor explícito para cada membro. Elas são mais legíveis em registros e dados serializados do que os números.
enum Color {
  Red = 'RED',
  Green = 'GREEN',
  Blue = 'BLUE',
}

Usando enumerações em funções

Use um tipo de enumeração como tipo de parâmetro para restringir os valores ao conjunto definido.
function move(dir: Direction): void {
  console.log('Moving:', Direction[dir]);
}
move(Direction.Up);

Mapeamento reverso (somente numérico)

As enumerações numéricas oferecem mapeamento reverso: você pode consultar o nome do membro a partir do seu valor. As enumerações de strings não oferecem esse recurso.
enum Status { Active = 1, Inactive = 2 }
console.log(Status[1]); // 'Active'
console.log(Status.Active); // 1

Enumerações constantes

`const enum` é incorporada diretamente no momento da compilação — nenhum objeto JavaScript é emitido. Isso reduz o tamanho do pacote, mas limita a introspecção em tempo de execução.
const enum Axis { X, Y, Z }
const a = Axis.X; // compiled to: const a = 0;

Enumerações versus união de literais

Muitos desenvolvedores de TypeScript preferem tipos de união de literais a enumerações. Eles são mais leves e funcionam sem código em tempo de execução.
// Enum
enum Dir { Up = 'UP', Down = 'DOWN' }

// Union literal (preferred by many)
type Dir2 = 'UP' | 'DOWN';

Enumerações heterogêneas (evite)

É permitido misturar valores de strings e numéricos em uma única enumeração, mas isso causa confusão. Evite esse padrão.
// Avoid:
enum Mixed { A = 1, B = 'bee' }

Enumerações são objetos reais em tempo de execução

Ao contrário das interfaces e dos aliases de tipo, as enumerações geram código JavaScript. A saída compilada é um objeto JavaScript com mapeamentos do nome para o valor e do valor para o nome (no caso de enumerações numéricas).

Iterando pelos valores de uma enumeração

Use Object.values() ou Object.keys() no objeto da enumeração para iterar pelos seus membros em tempo de execução.
enum Role { Admin = 'ADMIN', User = 'USER', Guest = 'GUEST' }
const roles = Object.values(Role);
console.log(roles); // ['ADMIN', 'USER', 'GUEST']

Verificação rápida

Qual tipo de enumeração oferece mapeamento reverso (consultar o nome a partir do valor)?

Recapitulação

As enumerações definem conjuntos de constantes nomeadas como objetos JavaScript reais. Use enumerações de strings para obter legibilidade, enumerações constantes para obter desempenho e considere os tipos de união de literais como uma alternativa mais leve.

Perguntas Frequentes

A aula “Enumerações: constantes numéricas e de texto” é grátis?

Sim — o texto completo de “Enumerações: constantes numéricas e de texto” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de TypeScript Academy, atualize para CoddyKit PRO. O curso de TypeScript Academy inclui 4 aulas no total.

O que vou aprender em “Enumerações: constantes numéricas e de texto”?

Utilize enumerações para substituir textos e números mágicos Você pratica TypeScript Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar TypeScript Academy?

Nenhuma experiência prévia é necessária. TypeScript Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Enumerações: constantes numéricas e de texto”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de TypeScript Academy?

Sim. Cada aula de TypeScript Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Arrays tipados: T[] e Array
  2. Arrays Readonly e dados imutáveis
  3. Tuplas: arrays tipados de tamanho fixo
  4. Enumerações: constantes numéricas e de texto
← Voltar para TypeScript Academy