1
resposta

Dúvida questão 15 modulo 5

"A função b esta recebendo a concatenação do nome com o sobrenome, mas veja que o sobrenome é o retorno da função a. A função a devolverá o sobrenome entre parênteses, daí, esse valor será concatenado com o nome e o resultado finalmente será passado para a função B."

Essa é a resposta acima. Eu sinceramente não entendi o porque ele leu os @ que estavam numa função que não foi chamada.

var resultado = c("Flávio", "Almeida");

mostra(resultado);

A função que contém os @ é a B, no entanto é chamado somente a função C que dentro da mesma só chama a função A e que não tem os @. Até entendo que existe o parâmetro texto na A e B, mas acho que não foi explicado isso em aula que se utilizasse em outra função ele resgataria o valor. Gostaria de uma explicação melhor do comportamente do código.

Eu até entendi, através do resultado o que ele possa ta fazendo. No momento que chama a função C, como ele contem um retorno que tem a função A e que teoricamente existe o parametro e retorno C, não sabia que ele se referiria também a função B que não foi chamada.

Att,

1 resposta

Oi, Jonatan.

Na verdade, a função C chama as duas funções. Se você olhar bem, a função C é assim:

 function c(nome, sobrenome) {

        return b(nome + " " + a(sobrenome));

    }

Então a função A é aplicada apenas no sobrenome, mas o nome e o sobrenome concatenados estão dentro da função B. Por isso os @ entre o texto.