Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Não entendi o Reflect.apply nessa circunstância.

Não entendi como os dois parâmetros da função sem encaixaram nessa situação, me parece que os dois parênteses foram os parâmetros passados, seria isto mesmo? Desde já agradeço!

function exibeNome(prefixo, sufixo) {

    alert(prefixo + this.nome + sufixo);
}

Agora, vamos chamar o método através de Reflect.apply:

Reflect.apply(exibeNome, objeto1, ['(', ')']); // exibe '(Bob)' Veja que agora estamos passando dois parâmetros para o método.

4 respostas

Lucas, não entendi qual é a sua dúvida em relação aos dois parâmetros. Por favor, você pode me explicar de uma forma diferente?

Entao Marco, e porque o Flavio explica que o metodo Reflect.apply recebe primeiro uma função, depois o objeto que sera aplicado, e depois coloca o resultado disto em um array certo? Mas ele ja predefiniu que as duas primeiras posições do array sao parênteses ['(', ')']), mas eu n entendi como foi passado os dois parâmetros da função exibeNome, que são o prefixo e sufixo.

solução!

Oi Lucas!

O último parâmetro é sempre um array com todos os parâmetros que a função precisa. No array contém as strings '(' e ')'. Quantos elementos? Dois certo? Os dois parâmetros da função, o prefixo e o sufixo. A ordem dos elementos do array é importante, o primeiro será o primeiro parâmetro do método, o segundo, o segundo parâmetro.

Obrigado Flávio, conseguir entender agora!