2
respostas

Return function

Porque que quando eu substituo o metodo pela função anonima funciona?

get(target, prop, receiver) {
    if(['adiciona', 'esvazia'].includes(prop) && typeof(target[prop]) == typeof(Function)) {

        return function() {

          console.log(`a propriedade "${prop}" foi interceptada`);
          Reflect.apply(target[prop], target, arguments);
        }

    }
    return Reflect.get(target, prop, receiver);

  }
2 respostas

Boa tarde, Felipe! Como vai?

Não entendi a sua dúvida. Poderia descrever melhor o seu problema indicando qual código dá problema, em qual trecho dele bem como a mensagem de erro que é apresentada? Assim poderei te ajudar de forma mais efetiva.

Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Oi Gabriel na verdade não existe erro. Minha dúvida é sobre a lógica. O proxy não nos permite colocar uma armadilha para métodos no entanto, ao substituirmos o método por uma função anônima a armadilha é acionada.

Minha pergunta é. Porque depois da substituição, a armadilha é aceita?