Você conhece o loop For…Of?
Este loop é específico para iterar entre os elementos de uma lista. Ele percorre objetos iterativos, chamando uma função personalizada com instruções a serem executadas para o valor de cada objeto distinto.
Sintaxe:
for (variavel of iteravel){ //Seu código aqui }
Você pode fazer a leitura como: “Para cada item de uma lista”. No exemplo, dia começará com o valor “segunda” e o último valor será “sexta”.
O for…of percorre a lista de forma crescente, então ele irá mostrar de forma crescente os valores do seu vetor. Simples, não?
E o for..in?
O laço de repetição for…in interage sobre as propriedades enumeradas de um objeto, em sua ordem original de inserção. O laço pode ser executado para cada uma das propriedades distintas do seu objeto. É recomendável não adicionar, remover ou alterar propriedades do objeto durante a execução do laço for…in, pois, se uma propriedade é deletada durante a execução do loop, ela se torna indisponível para ser acessada depois. O loop for in retorna uma string com o nome das propriedades e seus respectivos valores
A sua sintaxe é:
for (variavel in objeto) { //Seu código aqui }
Mas e quais são as suas diferenças entre os dois laços?
for…in
O loop for…in é usado para percorrer as propriedades de um objeto. Por exemplo:
let objetoComum = { nome: 'Nome', idade: '30' } for (let propriedade in objetoComum){ console.log("Propriedade " + propriedade + "=" + objetoComum[propriedade]) }
for…of
Já o loop for…of é usado para percorrer objetos iteráveis, como Array, Map etc.
Utilizando o mesmo exemplo, mas usando o for…of:
let objetoComum = { nome: 'Nome', idade: '30' } for (let propriedade of objetoComum){ console.log(propriedade) }
Teremos a saída:
objetoComum is not iterable
Temos essa saída pois o nosso objeto não é iterável.
Agora, se obtivermos um objeto iterável, seria o seguinte:
let arrayComum = [10, 20, 30, 40, 50] for (let elemento of arrayComum){ console.log(elemento) }
Nossa saída seria:
10 20 30 40 50
Gostou deste artigo? Comente abaixo!