Estruturas condicionais e estruturas de repetição em JavaScript \| TreinaWeb               Promoção no ar   Matricule-se agora e garanta **54% de desconto**  

  Termina em   Tempo restante da oferta: 02 Horas 

 14 Min 

 50 Seg 

   Tempo restante da oferta: 02 14 50 

  [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) Estruturas condicionais e estruturas de repetição em JavaScript  [ Desenvolvimento Front-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-front-end) [ Javascript ](https://www.treinaweb.com.br/blog/categoria/javascript) 

# Estruturas condicionais e estruturas de repetição em JavaScript

 Neste artigo veremos como utilizar as estruturas condicionais (if, else) e as estruturas de repetição (while, for) no JavaScript.

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

  ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/02/ESTRUTURAS-CONDICIONAIS-REPETICAO-JAVASCRIPT.png)  

Neste artigo vamos focar na utilização das estruturas condicionais e estruturas de repetição em [JavaScript](https://www.treinaweb.com.br/blog/o-que-e-e-como-comecar-com-javascript/ "JavaScript") e de seus conceitos.

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

As estruturas condicionais estão ligadas à tomada de decisão de um algoritmo. Ao utilizar expressões que retornam verdadeiro ou falso, o algoritmo executa o bloco de comandos relativos a este resultado.

Já no caso das estruturas de repetição, elas são úteis quando precisamos repetir N vezes a execução de um bloco de comandos até que uma condição seja atendida.

Caso você não esteja familiarizado com os conceitos de estruturas condicionais e estruturas de repetição, aconselho a leitura de nosso artigo [Estruturas condicionais e de repetição](https://www.treinaweb.com.br/blog/estruturas-condicionais-e-de-repeticao/).

Os exemplos serão executados utilizando o console do navegador, caso você não saiba executar um código JavaScript, leia nosso artigo [Executando seu primeiro código com JavaScript](https://www.treinaweb.com.br/blog/como-executar-seu-primeiro-codigo-javascript/ "Executando seu primeiro código com JavaScript").

 [ ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/10/E-BOOK-GRATUITO-COMECANDO-JS.png) ](https://www.treinaweb.com.br/ebook/guia-javascript)

## Estruturas condicionais no JavaScript

### Como utilizar a estrutura condicional ‘if(se)’ no JavaScript

Vamos aprender a utilizar as estruturas condicionais no JavaScript, começando pelo uso do **if(se), else if e else(senão).**

Primeiramente precisamos entender a sintaxe, podemos simplificar com o exemplo abaixo:

```jsx
if (idade > 18){
	console.log("Você é obrigado a votar");
}

```

No exemplo nós utilizamos a palavra `if` seguido da condição `idade > 18` . Ou seja, caso a variável `idade` seja maior que 18 (verdadeiro), os comandos que estarão no bloco serão executados, se tratando do exemplo, será executado o comando `console.log("Você é obrigado a votar")`.

![Utilizando estruturas - IF](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/02/exemplo-if-1.png)

Porém este exemplo não está completo, afinal, há quem não pode votar e também o voto opcional. Podemos utilizar os operadores lógicos na condição para deixar mais robusto o nosso exemplo:

```jsx
if (idade > 15 && idade < 18 || idade > 70){
	console.log("O voto é opcional");
}

```

Agora nós criamos uma estrutura condicional utilizando `if` e os operadores lógicos `&&` (E) e `||`(OU), mas ainda podemos deixar mais completo o nosso exemplo utilizando a estrutura `else if` :

```jsx
if (idade > 15 && idade < 18 || idade > 70) {
	console.log("O voto é opcional")
}else if (idade < 16) {
    console.log("Você não pode votar");
}

```

Como se pode ver, utilizamos o `else if` para impor outro bloco de comandos caso a primeira condição do `if` não fosse atendida, neste caso nós teremos o seguinte resultado:

![Utilizando estruturas condicionais - ELSE IF](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/02/exemplo-elseif.png)

Contudo, para finalizar o nosso exemplo, precisamos também informar quando o voto é obrigatório. Percebe-se que é, justamente, o intervalo de idade que as condições que estão em nosso `if / else if` não estão abrangendo, portanto, podemos somente adicionar um else, ficando desta forma:

```jsx
if (idade > 15 && idade < 18 || idade > 70) {
	console.log("O voto é opcional")
}else if (idade < 16) {
	console.log("Você não pode votar");
}else {
	console.log("Você é obrigado a votar");
}

```

Obtendo o seguinte resultado:

![Utilizando estruturas condicionais no Javascript - ELSE](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/02/exemplo-else.png)

Neste exemplo mostramos como é possível atribuir um comportamento de tomada de decisão utilizando as estruturas condicionais **if, else if e else** no JavaScript.

Em algumas situações onde trabalhamos com inúmeros `if / else` e com valores pré-definidos nas condições, podemos utilizar a instrução Switch Case.

 [ ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/06/BANNER-AULA-GRATUITA-1700x850-1.jpg) ](https://www.treinaweb.com.br/lp/aula-gratis/)

### Como utilizar Switch Case no JavaScript

Outra estrutura condicional do JavaScript que podemos utilizar é o **Switch Case**. O Swith Case é uma instrução que se comporta de forma semelhante ao `if / else`, porém possui uma estrutura mais organizada e de fácil compreensão. *Lembrando que só é aceito valores pré-definidos e não expressões condicionais*.

Podemos analisar a estrutura do Switch Case no seguinte exemplo:

```jsx
let signo = 'Leão';

switch (signo) {
  case 'Áries':
    console.log("De 21 março a 20 abril");
    break;
	case 'Touro':
    console.log("de 21 abril a 20 maio");
    break;
  case 'Gêmeos':
    console.log("de 21 maio a 20 junho");
    break;
  case 'Câncer':
    console.log("de 21 junho a 22 julho");
    break;
  case 'Leão':
    console.log("de 23 julho a 22 agosto");
    break;
  case 'Virgem':
    console.log("de 23 agosto a 22 setembro");
    break;
  default:
  	console.log("Signo não registrado");
    break;
}

```

Neste caso nós temos uma variável que recebe um signo, e então, devemos exibir qual o intervalo de nascimento referente a esse signo. Seria muito mais complexo utilizar `if / else` para este exemplo do que o switch case.

Ao analisar o exemplo, ao lado do `switch` atribuímos a variável `signo`, neste caso ele pede a **expressão** que será comparada a cada `case`. Sendo verdadeiro com alguma das opções, os comandos do bloco são executados até atingir a palavra-chave `break`. Caso nenhuma das opções seja verdadeira, a instrução irá executar os comandos que estarão na opção `default`.

Ao executar o exemplo acima, obtemos o seguinte resultado:

![Utilizando estruturas condicionais - Switch Case](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/02/exemplo-switch-case-1.png)

[  ![Ruby on Rails Intermediário](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/ruby-on-rails.svg)   Curso Ruby on Rails Intermediário Conhecer o curso ](https://www.treinaweb.com.br/curso/ruby-on-rails-intermediario)

## Estruturas de repetição no JavaScrpit

Agora vamos aprender a utilizar as estruturas de repetição no JavaScript, como: while, for, for…in e for…of.

### Como utilizar while(enquanto) no JavaScript

Podemos utilizar a estrutura de repetição while caso seja necessário repetir um bloco de comandos por N vezes.

```jsx
let i = 0;
while(i < 11){
    console.log('5 x ' + i + ' = ' + 5*i);
    i++;
}

```

A sintaxe do while, como vemos no exemplo acima, é bem simples. Utilizamos a palavra reservada `while` , logo em seguida precisamos passar uma condição que será atendida enquanto ela retornar `true`, ou seja, verdadeiro.

Neste caso, simulamos a tabuada do 5, a variável `i` é o nosso contador, iniciamos ela com o valor `0` , portanto a condição será verdadeira até que ela atinja o valor `11`, e por isso ela é iterada a cada repetição - `i++`, ao atingir tal valor o laço é quebrado.

Executando o código acima teremos o seguinte resultado:

![Utilizando estruturas de repetição - While](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/02/exemplo-while.png)

### Utilizando Do-While

O do-while tem o mesmo conceito que o while com uma única diferença, a condição é verificada após os comandos do bloco serem executados, ou seja, mesmo que a condição seja falsa, é garantia que o bloco será executado ao menos uma vez.

Podemos testar da seguinte forma:

```jsx
let contador = 0;

do{
	console.log("O contador vale: " + contador);
	contador++;
}while(contador == 1)

```

A variável `contador` foi inicializada com o valor `0` e o while está com a condição `contador == 1` ou seja, a condição é falsa e utilizando o while nosso bloco de comandos não seria executado. Porém podemos perceber que ao utilizar do-while, o bloco vem antes da verificação da condição, com isso ele garante que o bloco de comandos seja executado ao menos uma vez.

Desta forma vamos obter o seguinte comportamento:

![Utilizando do-while](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/02/do-while.png)

### Como utilizar For(para) no JavaScript

A estrutura de repetição for no JavaScript segue o mesmo princípio que o while, porém este recurso é mais utilizado quando se sabe o número de iterações da repetição, como ao percorrer um vetor, por exemplo.

Podemos replicar o exemplo acima da tabuada, porém utilizando for:

```jsx
for(let i = 0; i < 11; i++){
    console.log("5 x " + i + " = " + 5*i);
}

```

Para utilizar o for, usamos a palavra-chave `for` seguida de três declarações, primeiramente iniciamos a variável que será o controlador do nosso laço de repetição, logo em seguida precisamos informar a condição a ser atendida e, por último, uma expressão que será executado ao final de cada iteração do for, normalmente utilizamos para incrementar a variável que será utilizada como controlador do nosso laço.

Ao executar o código teremos o resultado semelhante ao exemplo utilizando while:

![Utilizando estruturas de repetição no Javascript - FOR](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/02/exemplo-for.png)

*OBS*: Vale ressaltar que o **while** é mais indicado para situações onde não temos conhecimento do número de iterações do laço, já o **for** é mais adequado para situações que o número de iterações está definido previamente.\*

### Utilizando for…in e for…of

No JavaScript, nós temos mais duas variações da utilização do for, o for…in e for…of.

O for…in é utilizado para percorrer as propriedades de um objeto, por exemplo:

```jsx
let carro = {
marca: 'ford',
modelo: 'fiesta',
cor: 'prata',
}

for (propriedade in carro) {
    console.log(propriedade);
}

```

Criamos uma instância do objeto carro, onde temos como propriedade a marca, modelo e cor.

Ao utilizar o for, passamos a variável que irá percorrer as propriedades do objeto e logo em seguida, de qual objeto.

O resultado esperado:

![Utilizando estruturas de repetição no Javascript - FOR IN](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/02/exemplo-for-in.png)

Também podemos acessar os atributos de cada propriedade, para isso basta usarmos `propriedade`como índice do nosso objeto, desta maneira:

```jsx
for (propriedade in carro) {
    console.log(carro[propriedade]);
}

```

Vamos obter a seguinte saída:

![Acessando atributos for in](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/02/exemplo-for-in-propriedade.png)

E por fim, podemos exibir o objeto por completo somente usando o for…in:

```jsx
for (propriedade in carro) {
    console.log(propriedade + ': ' + carro[propriedade]);
}

```

![Exibindo objetos for in](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/02/exemplo-for-in-propriedade-atributo.png)

O for…of nós podemos utilizar para percorrer objetos iteráveis como Maps, Sets e Vetores de forma simples e eficaz, da seguinte forma:

```jsx
let carros = [ 'fiesta', 'onix', 'fusca', 'saveiro' ];

for (let carro of carros) {
    console.log(carro);
}

```

Neste caso, vamos obter os valores de cada índice:

![Utilizando estruturas de repetição no Javascript - FOR OF](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/02/exemplo-for-of.png)

Também é possível exibir o índice referente a cada item usando o método `entries()`da seguinte forma:

```jsx
for (let [index, carro] of carros.entries()) {
    console.log(index, carro);
}

```

Desta maneira vamos obter os índices e os respectivos valores:

![Utilizando estruturas de repetição no Javascript - FOR OF](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/02/exemplo-for-of-index.png)

Existem outras maneiras que podemos utilizar para percorrer vetores, aconselho a leitura de nosso artigo [Métodos de Arrays que você deve conhecer](https://www.treinaweb.com.br/blog/javascript-metodos-de-arrays-que-voce-precisa-conhecer/ "Métodos de Arrays que você deve conhecer") aqui da TreinaWeb :D

## Conclusão

Neste artigo aprendemos a utilizar as estruturas condicionais if, else if e else, e as estruturas de repetição while, for, for…in e for…of no JavaScript.

Lembrando que são conceitos fundamentais para o seu desenvolvimento no estudo de qualquer linguagem de programação.

[  ![Desenvolvedor JavaScript](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/javascript.svg)   Formação Desenvolvedor JavaScript Conhecer a formação ](https://www.treinaweb.com.br/formacao/desenvolvedor-javascript)

Por fim, caso queira aprender mais sobre [JavaScript](https://www.treinaweb.com.br/blog/o-que-e-e-como-comecar-com-javascript) saiba que aqui na [TreinaWeb](https://treinaweb.com.br/) temos o curso [JavaScript - Fundamentos](https://www.treinaweb.com.br/curso/javascript-fundamentos) que possui **07h13 de vídeos** e um total de **93 exercícios**. Conheça também nossos outros cursos de [JavaScript](https://www.treinaweb.com.br/cursos?q=javascript).

Veja quais são os tópicos abordados durante o curso de JavaScript - Fundamentos:

- Como os computadores funcionam;
- O primeiro código no navegador e no Node.js;
- Declaração de variáveis e operadores;
- Tomadas de decisão e laços de repetição;
- Trabalhando com Numbers, Strings, Arrays, Objects e Functions;
- Vários exercícios;
- Vários desafios de programação direto no navegador;
- Projeto prático para fixar o que foi aprendido.

- [ #JavaScript ](https://www.treinaweb.com.br/blog/tag/javascript)
- [ #Desenvolvimento ](https://www.treinaweb.com.br/blog/tag/desenvolvimento)
- [ #Front-end ](https://www.treinaweb.com.br/blog/tag/front-end)

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/2021/05/GUIA-LINGUAGEM-JAVASCRIPT-400x280.png)  [ Desenvolvimento Front-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-front-end) 

     6 anos atrás

    ##  [ Guia da Linguagem JavaScript ](https://www.treinaweb.com.br/blog/guia-da-linguagem-javascript) 

     Neste Guia da Linguagem Javascript vamos abordar aspectos fundamentais, como: tipos de dados, variáveis, objetos, arrays e muito mais.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2022/11/ARTIGO-DART-400x280.jpg)  [ Dart ](https://www.treinaweb.com.br/blog/categoria/dart) 

     4 anos atrás

    ##  [ Guia da linguagem dart ](https://www.treinaweb.com.br/blog/guia-da-linguagem-dart) 

     Nesse guia da linguagem Dart você aprenderá o necessário para criar os seus primeiros softwares com a linguagem de programação Dart.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2022/07/o-que-preciso-conhecer-antes-de-iniciar-os-estudos-em-uma-linguagem-de-programacao-400x280.png)  [ Carreira ](https://www.treinaweb.com.br/blog/categoria/carreira) 

     4 anos atrás

    ##  [ O que preciso conhecer antes de iniciar estudos em uma linguagem de programação? ](https://www.treinaweb.com.br/blog/o-que-preciso-conhecer-antes-de-iniciar-estudos-em-uma-linguagem-de-programacao) 

     Essa é uma pergunta muito comum para quem deseja iniciar na área de programação. Por mais que desejamos já começar com uma linguagem e ver tudo acontecendo na tela, é necessário construir uma base antes. Por isso, existem alguns passos importantes antes mesmo de escolher uma linguagem de programação para estudar e é isso que veremos neste artigo.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2022/05/O-QUE-E-PHP-400x280.png)  [ PHP ](https://www.treinaweb.com.br/blog/categoria/php) 

     5 anos atrás

    ##  [ Guia da linguagem PHP ](https://www.treinaweb.com.br/blog/guia-da-linguagem-php) 

     Nesse guia de PHP você aprenderá o necessário para criar os seus primeiros softwares com a linguagem de programação PHP. Acesse agora mesmo!

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/03/guia-da-linguagem-python-400x280.png)  [ Python ](https://www.treinaweb.com.br/blog/categoria/python) 

     6 anos atrás

    ##  [ Guia da linguagem Python ](https://www.treinaweb.com.br/blog/guia-da-linguagem-python) 

     Entenda os principais conceitos para iniciar seus estudos neste guia da linguagem Python.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/01/GUIA-INTRODUÇÃO-PROGRAMAÇÃO-400x280.png)  [ Algoritmos ](https://www.treinaweb.com.br/blog/categoria/algoritmos) 

     6 anos atrás

    ##  [ Guia de introdução à programação ](https://www.treinaweb.com.br/blog/guia-de-introducao-a-programacao) 

     Entenda os conceitos fundamentais para iniciar seus estudos na área de desenvolvimento neste guia de introdução a programação.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/02/CONHECENDO-VÁRIAVEIS-CONSTANTES-JAVASCRIPT-400x280.png)  [ Desenvolvimento Front-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-front-end) 

     6 anos atrás

    ##  [ Conhecendo variáveis e constantes no JavaScript ](https://www.treinaweb.com.br/blog/conhecendo-variaveis-e-constantes-no-javascript) 

     Neste artigo vamos aprender a declarar e a utilizar constantes e variáveis no JavaScript, entendendo quando definir var, let e const.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/02/ESTRUTURAS-CONDICIONAIS-JAVA-400x280.png)  [ Java ](https://www.treinaweb.com.br/blog/categoria/java) 

     6 anos atrás

    ##  [ Estruturas condicionais e estruturas de repetição em Java ](https://www.treinaweb.com.br/blog/estruturas-condicionais-e-estruturas-de-repeticao-em-java) 

     Depois de conhecermos mais sobre variáveis e constantes no Java, veremos neste artigo as estruturas condicionais e estruturas de repetição.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/03/como-instalar-o-dart-e-executar-seu-primeiro-exemplo-400x280.png)  [ Dart ](https://www.treinaweb.com.br/blog/categoria/dart) 

     6 anos atrás

    ##  [ Estruturas condicionais e de repetição no Dart ](https://www.treinaweb.com.br/blog/estruturas-condicionais-e-de-repeticao-no-dart) 

     Neste artigo conheceremos as estruturas condicionais e estruturas de repetição na linguagem de programação Dart.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/10/ESTRUTURAS-CONDICIONAIS-REPETIÇÃO-400x280.png)  [ Algoritmos ](https://www.treinaweb.com.br/blog/categoria/algoritmos) 

     6 anos atrás

    ##  [ Estruturas condicionais e de repetição ](https://www.treinaweb.com.br/blog/estruturas-condicionais-e-de-repeticao) 

     Entenda a função das estruturas condicionais (If - Else) e de repetição (While - For) nos estudos sobre lógica de programação.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2022/10/o-que-e-e-como-comecar-com-golang-400x280.jpg)  [ Desenvolvimento Back-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-back-end) 

     4 anos atrás

    ##  [ Estruturas condicionais e de repetição na Go ](https://www.treinaweb.com.br/blog/estruturas-condicionais-e-de-repeticao-na-go) 

     Veremos nesse artigo sobre quais são e como podemos utilizar as estruturas condicionais e as estruturas de repetição na linguagem Go

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2022/05/como-instalar-o-csharp-e-nosso-primeiro-exemplo-400x280.png)  [ C# ](https://www.treinaweb.com.br/blog/categoria/csharp) 

     4 anos atrás

    ##  [ Estruturas condicionais e de repetição no C# ](https://www.treinaweb.com.br/blog/estruturas-condicionais-e-de-repeticao-no-csharp) 

     Veremos nesse artigo sobre quais são e como podemos utilizar as estruturas condicionais e as estruturas de repetição no C#

     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  **02h 14min 50s**

- 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
