1
resposta

[Dúvida] Declaração de Variável em outra função

Olá Pessoal,

Estou nessa aula do método map, e não entendi muito bem nessa parte de baixo, onde que a variável "livrosComDesconto" foi declarada. Pq dentro da função "getBuscarLivrosDaAPI", ela é passada como parâmentro para função "exibirOsLivrosNaTela".

Porém, dentro da função "aplicarDesconto", ela está lá dentro e não foi declarada. E como ela foi passado como parâmetro antes, se ela não tinha sido declarada. Essa parte me deixou confuso rsrs.

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá Filipe!

Na função aplicarDesconto, a variável livrosComDesconto é criada dentro da própria função com const. Ou seja, ela é local à função e só existe ali dentro:

function aplicarDesconto(livros) {
  const desconto = 0.3;
  const livrosComDesconto = livros.map(livro => {
    // lógica de desconto aqui
  });
  return livrosComDesconto;
}

Perceba que a função aplicarDesconto retorna essa lista com os descontos aplicados. E lá na função getBuscarLivrosDaAPI, esse valor retornado está sendo armazenado (ou sobrescrito) na variável livros:

livros = aplicarDesconto(livros);

Depois, esse novo valor é passado para exibirOsLivrosNaTela.

livrosComDesconto é uma constante local à função aplicarDesconto. O valor retornado por essa função é então utilizado na função principal.

Espero ter ajudado! Bons estudos!

Sucesso

Imagem da comunidade