A linguagem TypeScript fornece os mesmos comandos de repetição estudados em Tutorial Javascript. Além desses, os comandos for-of e for-int também estão disponíveis.

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

O comandos de repetição for-of e for-in utilizando iteradores. Esse assunto pode ser visto em Iterador.

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. Comandos break/continue
  7. Aninhamento de comandos

Para fazermos repetições quando sabemos a quantidade de vezes que precisamos fazê-las, utilizamos o comando for que possui uma sintaxe abaixo:

Fig. 1: Fluxograma Comando for
Sintaxe
for ( inicializacao ; condicao ; incremento )
{
  //trecho de código
}
Onde
inicializacao: bloco para iniciar variável
condicao: condição para que a repetição seja executada
ncremento: 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 TS 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 cujos elementos possuem chave/valor ou índice/valor. Ver Iterador.

Fig. 2: Fluxograma 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.

Internamente, uma condição é feita para descobrir se existe um próximo elemento para iterar como mostrado no fluxograma.

Exemplo 3
let obj = {
  nome: "nome",
  idade: "1",
  peso: "45",
  altura: 1.75,
  filho: true
}
for( let [ch,vl] of Object.entries(obj))
  console.log(ch,vl);

Saída
nome nome
idade 1
peso 35
altura 1.75
filho true

No exemplo acima utilizamos o método entries da objeto Object para retornar um tipo de dado iterável.

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: Fluxograma Comando for-in
Sintaxe
for ( let chave in <iteravel>){
 //corpo
}

Internamente, uma condição é feita para descobrir se existe um próximo elemento para iterar como mostrado no fluxograma.

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

O assunto objeto será visto em 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 não sabemos com exatidão por quantas vezes serão executadas.

Fig. 4: Fluxograma 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 condição entre ( e ) pode ser composta de várias expressões utilizando os operadores lógicos são estudados.

Quando não temos conhecimento da quantidade de vezes que um trecho de código deve ser executado, utilizamos o comando while.

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: Fluxograma 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 condição entre ( e ) pode ser composta de várias expressões utilizando os operadores lógicos são estudados.

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

Para parar a execução de um comando de repetição como for, while e do while, a linguagem TS possui 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 e do while, TS 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. Já o comando continue só pode ser usado dentro dos comandos for, while e do-while.

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. 27/08/2025 - revisão 3 - ajustes: pontuais, objetivos e sintaxes
  2. 13/09/2024 - revisão 2 - remoção de link Iterador, pequenos ajustes
  3. 02/09/2024 - revisão 1 - correção em link de objetivo: do-while
  4. 27/02/2024 - versão inicial