Dica de Código: Utilizando Enums com TypeScript \| TreinaWeb               Promoção no ar   Matricule-se agora e garanta **54% de desconto**  

  Termina em   Tempo restante da oferta: 16 Horas 

 49 Min 

 56 Seg 

   Tempo restante da oferta: 16 49 56 

  [Assinar →](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26) 

   [                ](https://www.treinaweb.com.br)  Explorar  

 [ Quanto custa? ](#assinatura) [ FAQ ](https://www.treinaweb.com.br#faq) [Matricule-se](#assinatura) [ Entrar ](https://www.treinaweb.com.br/login) 

     [ Início ](https://www.treinaweb.com.br) [ Artigos ](https://www.treinaweb.com.br/blog) Dica de Código: Utilizando Enums com TypeScript  [ Dica de código ](https://www.treinaweb.com.br/blog/categoria/dica-de-codigo) [ TypeScript ](https://www.treinaweb.com.br/blog/categoria/typescript) 

# Dica de Código: Utilizando Enums com TypeScript

 Desvende o poder dos Enums em TypeScript: código mais claro e robusto! Simplifique switch cases e reforce tipagem de objetos. Confira!

 [ Wesley Gado ](https://www.treinaweb.com.br/blog/autor/wesley-gado) 3 anos atrás

  ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/07/DICA-CODIGO-TS.jpg)  

A utilização de enums com [TypeScript](https://www.typescriptlang.org/) é uma poderosa ferramenta para melhorar a organização e legibilidade do seu código. Neste artigo, vamos explorar como utilizar enums em TypeScript para definir conjuntos de valores, simplificar estruturas de switch case e reforçar tipos de propriedades de objetos.

## Enumerações em TypeScript: Definindo Valores Significativos

[  ![TypeScript - Fundamentos](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/typescript.svg)   Curso TypeScript - Fundamentos Conhecer o curso ](https://www.treinaweb.com.br/curso/typescript-fundamentos)

Enums permitem que você defina um conjunto de valores que representam um tipo específico de dado, tornando seu código mais claro e compreensível. Ao utilizar enums, você pode criar um conjunto de constantes que são semanticamente relevantes.

```ts
enum Signos {
  Aries,
  Touro,
  Gemeos,
  // ... outros signos ...
  Peixes,
}

```

## Utilizando Enums em Variáveis e Funções

Uma das vantagens dos enums é a capacidade de utilizá-los em variáveis e funções para aumentar a legibilidade do código. Isso também ajuda a evitar erros, garantindo que os valores estejam dentro do conjunto definido.

```ts
let signo: Signos = Signos.Aries;
console.log(signo, Signos[0]); // Saída: 0, "Aries"

```

## Simplificando Switch Case com Enums

Enums podem ser empregados de forma eficaz em estruturas switch case, tornando o código mais conciso e mais fácil de manter. Isso é especialmente útil quando se lida com uma série de opções possíveis.

```ts
enum Signo {
  // ... valores dos signos ...
}

function obterDataDeNascimento(signo: Signo): string {
  switch (signo) {
    case Signo.Aries:
      return 'Áries: nascidos entre 21 de março a 20 de abril.';
    // ... outros casos ...
    default:
      return 'Signo desconhecido';
  }
}

```

## Personalização de Valores Enums

[  ![TypeScript - Avançado](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/typescript.svg)   Curso TypeScript - Avançado Conhecer o curso ](https://www.treinaweb.com.br/curso/typescript-avancado)

Além dos valores padrão, você pode personalizar os valores de um enum para serem números ou strings específicas. Isso oferece flexibilidade para adaptar os enums conforme suas necessidades.

```ts
enum Status {
  Inativo = 2,
  Ativo = 4,
}

let pedido = {
  id: 12,
  status: Status.Ativo
}

console.log(pedido.status); // Saída: 4

```

## Enums como Tipos e Propriedades de Objetos

Os enums podem desempenhar um papel similar aos tipos, reforçando as propriedades de objetos. Isso ajuda a garantir que os valores atribuídos estejam restritos aos definidos no enum.

```ts
enum Status {
  Ativo = 'ativo',
  Inativo = 'inativo',
  Pendente = 'pendente'
}

interface Usuario {
  nome: string;
  status: Status;
}

let usuario: Usuario = {
  nome: 'João',
  status: Status.Ativo
};

console.log(usuario.status); // Saída: "ativo"

```

## Conclusão

A utilização de enums com TypeScript é uma maneira eficaz de organizar, simplificar e fortalecer o seu código. Ao definir conjuntos de valores significativos e aplicar enums em variáveis, funções e estruturas de controle, você pode melhorar a legibilidade e a robustez do seu código, tornando-o mais claro e menos propenso a erros. Se você deseja aprofundar seu conhecimento em TypeScript, confira o nosso curso “[TypeScript - Fundamentos](https://www.treinaweb.com.br/curso/typescript-fundamentos)”, que abrange os conceitos essenciais com exemplos práticos e exercícios. Aproveite para dar um salto na sua jornada de desenvolvimento!

 [ ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/06/sessao-mentoria.jpg) ](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?forma=cartao)

- [ #TypeScript ](https://www.treinaweb.com.br/blog/tag/typescript)
- [ #dica de código ](https://www.treinaweb.com.br/blog/tag/dica-de-codigo)
- [ #dica de código TypeScript ](https://www.treinaweb.com.br/blog/tag/dica-de-codigo-typescript)
- [ #Enums ](https://www.treinaweb.com.br/blog/tag/enums)

Autor

 ![Wesley Gado](//secure.gravatar.com/avatar/1b770ca482a7232b1885881430a592bb?d=mm)

## Wesley Gado

 Formado em Análise e Desenvolvimento de Sistemas pelo Instituto Federal de São Paulo, atuou em projetos como desenvolvedor Front-End. Nas horas vagas grava Podcast e arrisca uns três acordes no violão. 

 [Todos os artigos](https://www.treinaweb.com.br/blog/autor/wesley-gado)  

## Continue estudando

 Transforme leitura em prática com os cursos e formações da TreinaWeb.

 [Ver cursos](https://www.treinaweb.com.br/cursos)   

  Continue lendo

## Artigos relacionados

- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/07/DICA-CODIGO-PHP-400x280.jpg)  [ PHP ](https://www.treinaweb.com.br/blog/categoria/php) 

     3 anos atrás

    ##  [ Dica de Código: Enums no PHP ](https://www.treinaweb.com.br/blog/dica-de-codigo-enums-no-php) 

     Descubra como os enums no PHP podem transformar seu código, tornando-o mais claro e eficiente. Otimize seu código agora!

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/07/DICA-CODIGO-PHP-400x280.jpg)  [ PHP ](https://www.treinaweb.com.br/blog/categoria/php) 

     3 anos atrás

    ##  [ Dica de Código: Propriedades Somente Leitura no PHP ](https://www.treinaweb.com.br/blog/dica-de-codigo-propriedades-somente-leitura-no-php) 

     Descubra como utilizar as propriedades somente leitura no PHP 8.1 para criar código mais seguro e confiável.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/07/DICA-CODIGO-JAVA-1-400x280.jpg)  [ Java ](https://www.treinaweb.com.br/blog/categoria/java) 

     3 anos atrás

    ##  [ Dica de Código: Expressões Lambda em Java ](https://www.treinaweb.com.br/blog/dica-de-codigo-expressoes-lambda-em-java) 

     Aprenda como as expressões lambda simplificam o código Java ao criar instâncias de interfaces funcionais e veremos alguns exemplos de uso.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/07/DICA-CODIGO-JAVA-1-400x280.jpg)  [ Java ](https://www.treinaweb.com.br/blog/categoria/java) 

     3 anos atrás

    ##  [ Dica de Código: Principais coleções do Java ](https://www.treinaweb.com.br/blog/dica-de-codigo-principais-colecoes-do-java) 

     Explore as poderosas ferramentas do Java Collections Framework: List, Set e Map. Domine a manipulação de dados com eficiência!

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/07/DICA-CODIGO-JAVA-1-400x280.jpg)  [ Java ](https://www.treinaweb.com.br/blog/categoria/java) 

     3 anos atrás

    ##  [ Dica de Código: Trabalhando com Data e Hora no Java ](https://www.treinaweb.com.br/blog/dica-de-codigo-trabalhando-com-data-e-hora-no-java) 

     Nessa dica de código veremos como podemos trabalhar com data e hora no Java, para isso veremos as classes do pacote java.time.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/07/DICA-CODIGO-PHP-400x280.jpg)  [ PHP ](https://www.treinaweb.com.br/blog/categoria/php) 

     3 anos atrás

    ##  [ Dica de Código: Arrow Functions no PHP ](https://www.treinaweb.com.br/blog/dica-de-codigo-arrow-functions-no-php) 

     Aprenda a usar Arrow Functions no PHP para tornar seu código mais conciso e poderoso. Confira exemplos práticos e dicas essenciais.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/05/temas-wordpress-400x280.jpg)  [ WordPress ](https://www.treinaweb.com.br/blog/categoria/wordpress) 

     10 anos atrás

    ##  [ Personalizar temas Wordpress sem alterar o código-fonte ](https://www.treinaweb.com.br/blog/personalizar-temas-wordpress-sem-alterar-o-codigo-fonte) 

     O Wordpress é o CMS mais usado do mundo. Veja algumas dicas sobre como personalizar seu site/blog utilizando temas premium.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2017/11/06145813/react-16-400x280.jpg)  [ Padrões de Projeto ](https://www.treinaweb.com.br/blog/categoria/padroes-de-projeto) 

     4 anos atrás

    ##  [ Boas práticas para o React ](https://www.treinaweb.com.br/blog/boas-praticas-para-o-react) 

     Veja neste artigo algumas das dicas e boas práticas para utilizar em uma aplicação React e tenha um código mais limpo na sua aplicação.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/08/javascript-comandos-do-console-400x280.png)  [ Javascript ](https://www.treinaweb.com.br/blog/categoria/javascript) 

     5 anos atrás

    ##  [ Trabalhando com data no JavaScript ](https://www.treinaweb.com.br/blog/trabalhando-com-data-no-javascript) 

     Neste artigo veremos como manipular datas no JavaScript, utilizando a classe Date, como pegar a data atual e utilizar os métodos da classe.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2022/10/dicas-projetos-frontend-min-400x280.png)  [ Desenvolvimento Front-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-front-end) 

     4 anos atrás

    ##  [ 5 ideias de projetos para praticar - front-end ](https://www.treinaweb.com.br/blog/5-ideias-de-projetos-para-praticar-front-end) 

     Confira neste artigo algumas dicas de projetos de front-end, para que você possa praticar e melhorar suas habilidades.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2018/05/18160843/capa-artigo-seo-400x280.jpg)  [ Marketing Digital ](https://www.treinaweb.com.br/blog/categoria/marketing-digital) 

     9 anos atrás

    ##  [ Técnicas de SEO para ficar no topo dos buscadores ](https://www.treinaweb.com.br/blog/tecnicas-de-seo-para-ficar-no-topo-dos-buscadores) 

     Veja algumas das técnicas que podem ajudar a posicionar o seu site no topo dos buscadores.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/09/guia-termos-comuns-seguranca-400x280.png)  [ Guias ](https://www.treinaweb.com.br/blog/categoria/guias) 

     3 anos atrás

    ##  [ Guia de termos comuns de segurança ](https://www.treinaweb.com.br/blog/guia-de-termos-comuns-de-seguranca) 

     Neste guia de segurança veremos alguns dos principais ataques que podem acontecer na web.

     Ler artigo

## Um ano de acesso total para você viver de programação.

 Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro `console.log` ao mercado de trabalho.

- **1 ano** de acesso a **todos os cursos**
- Cursos novos **toda semana**
- Suporte **direto com professores**
- Plano de carreira **personalizado**
- **Certificados digitais** inclusos
- **Aplicativos** para Android e iOS, com **acesso offline**

    **Garantia incondicional de satisfação** 

 Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

### Acesso completo a todos os cursos e dezenas de Formações.

 12 meses 

  Economize R$ 840,00  54% OFF 

 de 12x R$ 129,00 por apenas

 12x  R$ 59,00

 sem juros no cartão de crédito ou R$ 599,00 à vista

  Oferta termina em  **16h 49min 56s**

- Acesso imediato e ilimitado durante 1 ano.
- Plano de carreira personalizado.
- Suporte direto com professores.
- E muito mais!

 [Matricule-se agora](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26)

     [                ](https://www.treinaweb.com.br)

 Escola online de programação, tecnologia e IA.

- [  ](https://www.facebook.com/TreinaWeb/)
- [  ](https://www.instagram.com/treinaweb/)
- [  ](https://www.youtube.com/user/TreinaWeb)
- [  ](https://twitter.com/treinaweb)
- [  ](https://www.linkedin.com/company/treinaweb)
- [  ](https://github.com/treinaweb)

## Inscreva-se em nossa newsletter

Receba lançamentos, promoções e novidades.

   Seu nome     Seu WhatsApp     Seu melhor e-mail   Inscrever-se 

## Cursos

- [ Base para Devs ](https://www.treinaweb.com.br/categoria/base-para-devs)
- [ Front-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-front-end)
- [ Back-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-back-end)
- [ Mobile ](https://www.treinaweb.com.br/categoria/desenvolvimento-mobile)
- [ Bancos de Dados ](https://www.treinaweb.com.br/categoria/bancos-de-dados)
- [ Cloud ](https://www.treinaweb.com.br/categoria/cloud-computing)
- [ IA ](https://www.treinaweb.com.br/categoria/ia)
- [ E mais ](https://www.treinaweb.com.br/categoria/e-mais)
- [ Ver todos os cursos ](https://www.treinaweb.com.br/cursos)

## Conteúdo

- [ Formações ](https://www.treinaweb.com.br/formacoes)
- [ Projetos práticos ](https://www.treinaweb.com.br/projetos-praticos)
- [ Direto ao ponto ](https://www.treinaweb.com.br/direto-ao-ponto)
- [ Planos ](https://www.treinaweb.com.br#assinatura)
- [ Depoimentos ](https://www.treinaweb.com.br#depoimentos)
- [ Comunidade ](https://www.treinaweb.com.br#comunidade)
- [ Corpo docente ](https://www.treinaweb.com.br#docente)

## A empresa

- [ Sobre a TreinaWeb ](https://www.treinaweb.com.br#sobre)
- [ Perguntas frequentes ](https://www.treinaweb.com.br#faq)
- [ Vantagens de estudar na TreinaWeb ](https://www.treinaweb.com.br/vantagens-de-estudar-na-treinaweb)
- [ Cursos para empresas ](https://www.treinaweb.com.br/empresas)
- [ Sugira um novo curso ](https://www.treinaweb.com.br/sugerir-curso)
- [ Trabalhe conosco ](https://www.treinaweb.com.br/trabalhe-conosco)
- [ Artigos ](https://www.treinaweb.com.br/blog)
- [ Desenvolvedores e agentes ](https://www.treinaweb.com.br/developers)
- [ Contato ](https://www.treinaweb.com.br/contato)
- [ Política de privacidade ](https://www.treinaweb.com.br/politica-de-privacidade)
- [ Termos de uso ](https://www.treinaweb.com.br/termos-de-uso)

## Baixe nosso aplicativo

 [   Disponível na **App Store**  ](https://apps.apple.com/us/app/treinaweb/id1322729447) [   Disponível no **Google Play**  ](https://play.google.com/store/apps/details?id=br.com.treinaweb.mobile) 

  Av. Paulista, 1765, Conj 71 e 72 · Bela Vista · São Paulo · SP · 01311-200   © 2004 – 2026 TreinaWeb Tecnologia LTDA · CNPJ 06.156.637/0001-58
