Função iteradora em JavaScript
Todos os objetos iteráveis possuem uma estrutura especial chamada iterador. Um iterador é uma função que permite percorrer o objeto.
Vamos ver um exemplo com um array:
let arr = [1, 2, 3];
A função iteradora para qualquer objeto iterável
é armazenada com uma chave sendo
o bem conhecido símbolo Symbol.iterator:
let func = arr[Symbol.iterator];
Podemos confirmar que uma função está armazenada sob esta chave (mas seu código será ocultado de nós pelo navegador):
console.log(func); // função
Verifique diferentes tipos de objetos iteráveis que você conhece quanto à presença da função descrita neles.