Skip to Content
JavaScript: O Guia Definitivo, 7ª edição
book

JavaScript: O Guia Definitivo, 7ª edição

by David Flanagan
April 2025
Intermediate to advanced
706 pages
22h 18m
Portuguese (Portugal, Brazil)
O'Reilly Media, Inc.
Book available
Content preview from JavaScript: O Guia Definitivo, 7ª edição

Capítulo 12. Iteradores e geradores

Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com

Iteráveis objetos e seus iteradores associados são uma caraterística do ES6 que vimos várias vezes ao longo deste livro. Arrays (incluindo TypedArrays) são iteráveis, assim como strings e objetos Set e Map. Isto significa que o conteúdo destas estruturas de dados pode ser iterado - percorrido em loop - com o ciclo for/of, como vimos em §5.4.4:

let sum = 0;
for(let i of [1,2,3]) { // Loop once for each of these values
    sum += i;
}
sum   // => 6

Iteradores também pode ser utilizado com o operador ... para expandir ou "espalhar" um objeto iterável num inicializador de array ou numa invocação de função, como vimos em §7.1.2:

let chars = [..."abcd"]; // chars == ["a", "b", "c", "d"]
let data = [1, 2, 3, 4, 5];
Math.max(...data)        // => 5

Os iteradores podem ser utilizados com atribuição de desestruturação:

let purpleHaze = Uint8Array.of(255, 0, 255, 128);
let [r, g, b, a] = purpleHaze; // a == 128

Quando iteras um objeto Map, os valores de retorno são pares [key, value], que funcionam bem com a atribuição de desestruturação num ciclo for/of:

let m = new Map([["one", 1], ["two", 2]]);
for(let [k,v] of m) console.log(k, v); // Logs 'one 1' and 'two 2'

Se quiseres iterar apenas as chaves ou apenas os valores em vez dos pares, podes utilizar os métodos keys() e values():

[...m]            // => [["one", 1], ["two", 2]]: default iteration
[...m.entries ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

CSS: O Guia Definitivo, 5ª Edição

CSS: O Guia Definitivo, 5ª Edição

Eric Meyer, Estelle Weyl

Publisher Resources

ISBN: 9798341641716Supplemental Content