Os diferentes tipos de loops e iterações no JavaScript
Published: 2023-01-17 19:38:50

Diversas vezes, precisamos utilizar algum tipo de condição repetida em um código. Para que não se seja necessário a criação de uma variável repetidas vezes, uma a uma, vez após vez, foi se criado uma condição para facilitar um caso, que precise acontecer mais uma vez repetidamente.

Um loop é apenas um bloco de código junto com algum conjunto de instruções sobre quanto tempo manter esse código rodando continuamente. Com o decorrer do tempo eles foram evoluindo cada vez mais, e vieram existir os mais variados tipos de iterações: `For,for in, for of, do while,while` e `break` ou chamado `continue`. Vejamos exemplos para uma maior compreeensão:

**For**

```
for (let i = 1; i <= 10; i++) {
  console.log(i);
}
```

A estrutura de loop for é a mais comum e usada. Ela consiste em três partes: uma declaração de estado inicial, uma expressão condicional sobre o que se fará e uma expressão de incremento ou decremento se assim for o caso. Por exemplo, o  código que vemos acima contará os números de 1 a 10.


**For in**

```
let obj = {a: 1, b: 2, c: 3};
for (let key in obj) {
  console.log(key);
}
```


Já o For in, repete uma variável especificada sobre todas as propriedades enumeráveis ​​de um objeto. Para cada propriedade distinta, o JavaScript executa as instruções especificadas. O exemplo mostrado o loop `for in` está usando a variável chave como iterador e está registrando o valor da variável chave, que serão os nomes das propriedades do objeto, neste caso, imprimirá "a", "b", "c" em separado linhas. 


**For of**

Esse é similar à estrutura for...in, mas oferece uma maneira mais simples e concisa de percorrer os valores de uma coleção. E sua diferença está que ele faz sua iteração sobre os valores de uma coleção, como matrizes e objetos de iteração. Veja abaixo:

```
let arr = [1, 2, 3];
for (let val of arr) {
  console.log(val);
}
```

**Do while**


```
let result = '';
let i = 0;

do {
  i = i + 1;
  result = result + i;
} while (i < 10);

console.log(result);
```

O Do While cria um loop que executa uma instrução especificada até que a condição de teste seja avaliada como falsa. O caso visto, mostra que o _result_ se inicia sem valor, mas que enquanto item no index [i] for abaixo de 10, ele irá se repetir, somando 1.


**While**

Fará como o Do While, mas as condições continuam desde que seja verdadeira. Pode parecer confuso, mas antes de executar,o While analisa a condição para ver se é possivel ser feita. A diferença que existe é que, o While analisou e viu que é possível faze a condição. Se fosse possível ATÉ certo ponto, seria utilizado o Do While

```
let n = 0;

while (n < 3) {
  n++;
}

console.log(n);
```


**Continue / Break**

A instrução continue termina a execução das instruções na iteração atual do loop atual ou rotulado e continua a execução do loop com a próxima iteração. Nesse caso 

```
let text = '';

for (let i = 0; i < 10; i++) {
  if (i === 3) {
    continue;
  }
  text = text + i;
}

console.log(text);
```

É importante entender as diferenças entre essas estruturas de loops e iterações para escolher a melhor abordagem para cada caso. Além disso, usar loops e iterações de forma eficiente é fundamental para escrever códigos performáticos e manter a legibilidade do código.