|

Usando "for...of" em JavaScript

Usando "for...of" em JavaScript Foto por Etienne Girardet em Unsplash

Como usar o laço for...of em JavaScript

A declaração for...of em JavaScript executa uma operação em laço que trabalha em uma sequência de valores de um objeto iterável. Objetos iteráveis incluem estruturas como Array, String, Map, Set, e mais.

A sintaxe funciona da seguinte forma:

for (let city of cities) {
  console.log(city);
}

Neste caso, city irá ser a variável que carregará o valor individual de cada item do iterável cities. Você pode usar let, const, var, variáveis previamente declaradas, ou ainda outras maneiras para se declarar a variável do loop.

cities precisa ser um iterável, como descrevemos anteriormente, caso contrário o laço não executará como esperado. Para entender melhor objetos iteráveis, consulte a seção específica “Built-in iterables” do artigo da MDN.

Descrevendo a operação

O laço ocorre individualmente, um a um, em ordem sequencial, como geralmente ocorre com outros tipos de loops no JavaScript.

Você pode interromper uma iteração usando o comando break, ou ainda pular uma iteração com o comando continue, assim como em geralmente outros laços no JavaScript.

Vamos agora iterar sobre uma String diretamente:

const word = "uau!";

for (const letter of word) {
  console.log(letter);
}
// "u"
// "a"
// "u"
// "!"

Iterando sobre Array

const umArray = ['a', 'b', 'c'];
for (let item of umArray) {
  console.log(item);
  // a
  // b
  // c
}

Iterando sobre Map

const sampleMap = new Map([
  ["1", "a"],
  ["2", "b"],
  ["3", "c"],
]);

for (const item of sampleMap) {
  console.log(item);
  // ["1", "a"]
  // ["2", "b"]
  // ["3", "c"]
}

Iterando sobre Set

const ourSet = new Set('LetterOccurrence');
for (let item of ourSet) {
  console.log(`${item} é uma das letras que aparecem na string 'LetterOccurrence'`);
  // "L é uma das letras que aparecem na string 'LetterOccurrence'
  // "e é uma das letras que aparecem na string 'LetterOccurrence'
  // "t é uma das letras que aparecem na string 'LetterOccurrence'
  // "r é uma das letras que aparecem na string 'LetterOccurrence'
  // "O é uma das letras que aparecem na string 'LetterOccurrence'
  // "c é uma das letras que aparecem na string 'LetterOccurrence'
  // "u é uma das letras que aparecem na string 'LetterOccurrence'
  // "n é uma das letras que aparecem na string 'LetterOccurrence'
}

O laço for...of no JavaScript possibilita que realizemos loops de maneira mais prática e concisa, aumentando a legibilidade e a clareza do nosso código. Você já conhecia e já usava esta funcionalidade?

Espero que este artigo tenha lhe ajudado e lhe encorajado a utilizar este tipo de loop com o JavaScript. Até a próxima! 👋