Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Alguém pode me explicar pq isso funciona?

eu acredito que eu não esteja tendo um entendimento bom o bastante a cerca de como parâmetros funcionam exatamente, eu achava que um parâmetro era apenas um "termo" em aberto para poder ser substituído, podendo assim usar o mesmo código várias vezes, tem como alguém me explicar melhor como funcionam os parâmetros? eu não entendo como esse código abaixo está funcionando por exemplo:

let a = ["aaa","bbb","ccc"]

a.forEach(b)

function b(exemplo){ console.log(exemplo)

}

Info: Start process (12:46:03) aaa bbb ccc Info: End process (12:46:03)

1 resposta
solução!

Então, você esta certo quanto à utilização dos parametros de uma função como um termo aberto. E é exatamente isso que vc esta fazendo.

Se você entrar na documentação do forEach, vc vai ver que ele aciona uma callback (a função que vc esta utilizando) para cada item da lista, o primeiro parametro é sempre o ITEM da vez.

Vamos ao texto da documentação:

arr.forEach(callback(currentValue [, index [, array]])[, thisArg]);

ONDE:

  1. callback Função para executar em cada elemento, recebendo três argumentos:

  2. currentValue O valor atual do elemento sendo processado no array.

  3. index Optional O índice do elemento atual sendo processado no array.

  4. array Optional O array que forEach() está sendo aplicado.

  5. thisArg Optional Opcional. Valor a ser usado como this quando executar callback.

Ou seja, está funcionando pq quando vc pede para ele executar sua função ele executa e coloca o "currentValue" no lugar do "teste".

Exemplo:

let a = ["aaa","bbb","ccc"]

a.forEach((minhaLetra)=>{console.log(minhaLetra)})

Seria a mesma coisa que o seu código, eu só não usei uma função declarada.

Agora execute o cófigo abaixo com os parâmetros opcionais e veja o que sairá:

let a = ["aaa","bbb","ccc"]

a.forEach(b)

function b(exemplo, exemplo2, exemplo3){ console.log("A ATUAL STRING DO ARRAY É: ", exemplo, " A POSIÇÃO DO ARRAY É: ", exemplo2, " E MEU ARRAY É ", exemplo3)

}

Espero ter ajudado. Abraços!!!