Como o método forEach() do JavaScript consegue detectar os parâmetros de índice, item e array sem eu passar eles para o método?
5 respostas
Lp0956
Por exemplo, nesse código que eu fiz pra mostrar o índice e o valor presentes naquela posição em cada iteração pelo array:
Como ele detecta que os parâmetros item, index e array se tratam, respectivamente, do valor atual, do índice e do próprio array sem eu nem ter passado esses parâmetros para a função (apenas declarei)?
Respondendo: Porque ele espera uma função com essa assinatura, ou seja, é assim que é sua implementação e para você utilizar deve ser essa assinatura de parâmetros. Na imagem a sua é anonima mas, você pode declarar uma função comum e utilizar com essa mesma assinatura!
Lp0956
E por que se eu fizer uma função normal com esses três parâmetros, ela não vai detectar do que eles se tratam?
Dragoon
Não entendi a sua pergunta, por melhorar? (porque se você fizer a mesma assinatura é claro que vai detectar)
RoinujNosde
Acho que ele se refere a uma função function(a, b, c) fora do forEach. Nesse caso acho que a, b e c são Undefined, não?
Dragoon
Então eu não entendi realmente, pode ser, ele poderia exemplificar para melhorar o contexto.