Veja na documentação que no método forEach do Array, o terceiro parâmetro da função de callback é o próprio array. Não é uma estrutura genérica, é o array no qual forEach foi chamado.
Já no caso do NodeList, a documentação diz que o terceiro parâmetro é o próprio NodeList (novamente, não é uma estrutura genérica, é o próprio objeto no qual forEach foi chamado).
Entendi o que tu falou, e era exatamente isso que quis passar quando escrevi, não sei se consegui.
Vi que tu insistiu na expressão estrutura genérica, mas não foi isso que escrevi. Estrutura genérica dá a entender que existe uma estrutura de dados em Javascript (que tem seu próprio prototype) que é genérica.
O que eu quis dizer foi forma genérica, em oposição a forma específica.
O que seria específico?
- Array
- Nodelist
- ...
O que seria genérico?
- Uma lista que pode ser tanto array quanto nodelist, depende de quem chamou o forEach
Lá no post escrevi duas frases que podem estar mais claras:
- "Ele geralmente se chama array e retorna a própria lista que você está iterando."
- "E o terceiro é a própria array que você está iterando."
Acho que foi mais a escolha errada de palavras, mas a intenção foi passar o mesmo que tu disse.