JavaScript · Intermediário · Português · Técnico
iterador
Objeto com método next() que devolve { value, done } a cada chamada. É o que o for...of e o spread usam por baixo para percorrer uma sequência.
Onde usar
Implementado ao criar coleções próprias ou sequências preguiçosas. Em code review, aparece como [Symbol.iterator]() em classes que devem funcionar com for...of.
Em código
const it = [10, 20][Symbol.iterator]();
console.log(it.next());
// { value: 10, done: false }
console.log(it.next());
// { value: 20, done: false }
console.log(it.next());
// { value: undefined, done: true }Exemplos
O for of chama o next do iterador até o done ficar verdadeiro.
Todo generator devolve um iterador.
Cuidado
Confundir iterador, que tem next, com iterável, que tem Symbol.iterator devolvendo um iterador: arrays são iteráveis, não iteradores.
Sinônimos
iterator
Origem
Do latim iterare, 'repetir'.