Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Comando for
  2. Comando for-of
  3. Comando for-in
  4. Comando while
  5. Comando do-while
  6. Comando break/continue
  7. Aninhamento de comandos
  8. break com for-of/for-in

A linguagem JavaScript fornece os mesmos comandos de repetição estudados em Tutorial C: Comandos de Repetição. Javascript nos possibilita o uso dos comandos de repetição for, while e do-while. Além desses comandos JS fornece os comandos for-of e for-int para uso em coleções de dados.

Os comandos de decisão bem como o seus funcionamentos já foram discutidos em Portugol: Comandos de Repetição sendo a leitura recomendada em caso de dúvida.

O comandos de repetição for-of e for-in são usados com iteradores. Esse assunto pode ser visto em JavaScript Básico: Iterador.

Para fazermos repetições quando sabemos a quantidade de vezes, utilizamos o comando for que possui seu fluxograma e sintaxe logo abaixo:

Fig. 1: Comando for
Sintaxe
for(inicialização ; condição ; incremento)
{
  //código
}
Onde
inicialização: bloco para iniciar variável
condição: condição para que a repetição seja executada
incremento: atualização de variável utilizada em inicialização
Exemplo 1
let i;

for(i = 0; i < 3; i++)
{
    console.log(i);
}

Saída
0
1
2

A linguagem JS, assim como C++, Java e outras, suporta a declaração de variável dentro do bloco inicialização como mostrado no exemplo abaixo:

Exemplo 2
for(let i = 0; i < 3; i++)
{
    console.log(i);
}
Saída
0
1
2

O comando de repetição for-of é utilizado para iterar(tipo iterável) ou percorrer tipos de dados em que seus elementos possuem chave/valor. Ver JavaScript Básico: Iterador.

Fig. 2: Comando for-of
Sintaxe
for( let [chave,valor] of iteravel){
 //corpo
}
Onde
chave: chave associada a um elemento.
valor: valor do elemento associado a chave.
Exemplo 3
let obj = {
  nome: "fulano",
  idade: "999",
  peso: "80",
  altura: 1.99,
  filho: false
}
for( let [ch,vl] of Object.entries(obj))
  console.log(ch,vl);

Saída
nome fulano
idade 999
peso 80
altura 1.99
filho false

No exemplo acima utilizamos o método entries da objeto Object para retornar um tipo de dado iterável. Objetos serão vistos em JS: POO > Classe.

O comando de repetição for-in é semelhante ao comando for-of. Utilizado para iterar(tipo iterável) ou percorrer tipos de dados que seus elementos são armazenados como índice-valor.

A diferença entre for-of e for-in é que o segundo retorna as chaves de um iterável em forma de string.

Fig. 3: Comando for-in
Sintaxe
for( let chave in iteravel){
 //corpo
}
Exemplo 4
let obj = {
  nome: "fulano",
  idade: "999",
  peso: "80",
  altura: 1.99,
  filho: false
}

for( let chave in obj)
{
  console.log(chave,':',obj[chave])
}
Saída
nome : fulano
idade : 999
peso : 80
altura : 1.99
filho : false

Objetos serão vistos em JS: POO > Classe.

No comando while uma condição é verificada se retorna um boolean true ou false. Se a condição for verdadeira, o trecho de código contido no corpo do comando while será executado.

O comando while, é utilizado quando precisamos executar várias repetições e não sabemos quantas vezes serão com exatidão.

Fig. 4: Comando while
Sintaxe
while(condicao)
{
  //seu código aqui
}
Onde
condicao: expressão que retorna um boolean
Exemplo 5
let a = 0;
while( a < 3)
{
  console.log(a);
  a++;
}
Saída
0
1
2

A condicao mostrada na sintaxe acima pode ser composta de várias expressões utilizando os operadores lógicos e relacionais estudados.

O comando do-while executa o trecho de código que está contido em seu corpo e posteriormente verifica a condição para decidir se deve ou não continuar fazendo as repetições.

Fig. 5: Comando do-while
Sintaxe
do
{
   //trecho de código executado em loop
}
while(condicao);
Onde

condicao: expressão que retorna um boolean

Exemplo 6
function seleciona_opcao()
{
    return -1;
}

do
{
   exibir_opcoes(); //funcao para exibir menu de opcoes
   int opcao = selecionar_opcao();
}
while(opcao != -1);

Saída
-

A condicao mostrada na sintaxe acima pode ser composta de várias expressões utilizando os operadores lógicos e relacionais estudados.

Os comandos break e continue em discutidos no Tutorial C sendo a leitura recomendada em caso de dúvidas.

Para parar ou quebrar a execução de um comando de repetição como for, while ou do while, a JS fornece o comando break:

Sintaxe
break
Exemplo 7
let a = 0;
   
while( a < 3)
{
  if (a == 2)
    break;
    
  console.log(a);
  a++;
}
Saída
0
1

Para pularmos a execução de um laço de comandos de repetição como for, while ou do-while, a linguagem JS fornece o comando continue:

Exemplo 8
let a=0;

while( a <= 10 )
{
   if ( a % 2 == 0)
   {
    console.log(a);
    a++;
    continue;
   }
   a++;
}
Saída
0
2
4
6
8
10

O comando break só pode ser utilizado dentro dos comandos for, while, do-while e switch. O mesmo é válido para o comando continue.

Assim como os comandos de decisão, os comandos de repetição também podem ser declarados aninhados. Os exemplos abaixo não irão compilar, sendo utilizados apenas para demostração do aninhamento do comandos aprendidos.

Exemplo 8
for (inicialização ; condição ; atualização)
{
    //seu código aqui
    for (inicialização2 ; condição2 ; atualização2)
    {
      //seu codigo aqui
    }
}
Saída
-
Exemplo 9
while(condicao)
{
    //seu código aqui
	while(condicao)
    {
      //seu código aqui
    }
}
Saída
-
Exemplo 10
do
{
   //trecho de código para executar em loop.
    do
    {
       //trecho de código para executar em loop.
    }
    while(condicao2);
}
while(condicao1);

Saída
-

Ao utilizar os comando break e continue, estes só terão efeito dentro do comando de repetição em que estão sendo declarados.

Exemplo 11
for (inicialização ; condição ; atualização)
{
  	//seu código aqui
    for (inicialização2 ; condição2 ; atualização2)
    {
       //break ou continue
      //só terão efeito dentro desse for
    }
    //break ou continue não vão afetar esse for
}
Saída
-
  1. 14/08/2025 - revisão 4 - Ajustes: pontuais, target de links internos, 'Objetivos'
  2. 26/09/2024 - revisão 3 - Remoção: texto repetido em 'while';
  3. 02/09/2024 - revisão 2 - Correção em links de objetivos
  4. 05/10/2023 - revisão 1 - Correção em layout, navegação e erros gramaticais
  5. 31/05/2023 - versão inicial