1
resposta

Como JS compreende o parâmetro passado nas funções

Todas as vezes que me deparo com alguma função eu sempre fico confuso de como que o JS entende o parâmetro passado.

exemplo da aula :

const listaApenasApartamentos = cliente.endereços.filter(
    (endereço) => endereço.apartamento === true 
)

De que forma o JS endente a string endereço ? De que forma, na verdade, o JS entende os parâmetros nas funções?

Há alguma espécie de substituição interna da string "endereço" por alguma informação contida no "objeto endereços" ?

Se algum puder elucidar ou mesmo indicar algum material que detalhe melhor fico agradecido.

1 resposta

Olá, Andre! Tudo bem?

O conceito de parâmetros em funções pode ser um pouco confuso no início, mas vou tentar esclarecer da melhor maneira possível.

No JavaScript, quando você cria uma função, você pode definir parâmetros para ela. Esses parâmetros são como variáveis que só existem dentro do escopo da função. Eles são usados para passar valores para a função quando ela é chamada.

No seu exemplo, você está usando a função filter() que é um método de arrays no JavaScript. Essa função recebe uma função como argumento, chamada para cada elemento do array. O parâmetro dessa função (no seu caso, endereço) representa o elemento atual que está sendo processado no array.

const listaApenasApartamentos = cliente.endereços.filter(
    (endereço) => endereço.apartamento === true 
)

Nesse caso, endereço é um parâmetro que representa cada objeto dentro do array cliente.endereços. A função filter() vai iterar por cada objeto (ou "endereço") no array cliente.endereços e aplicar a função que você passou como argumento. Se a função retornar true, o endereço atual é incluído no novo array. Se retornar false, ele é excluído.

Portanto, não há uma substituição interna da string "endereço" por alguma informação contida no "objeto endereços". O que acontece é que "endereço" é um nome de parâmetro que você escolheu para representar cada item (neste caso, cada objeto de endereço) na array cliente.endereços enquanto a função filter() itera através dele.

Espero ter esclarecido as suas dúvidas e caso tenha mais perguntas, estarei à disposição.

Grande abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.