Olá, Flávio, tudo bem? A minha dúvida é referente a um pattern que foi frenquente tanto na aula quanto nos exercícios. Aqui está um exemplo que o segue:
new Proxy(new Pessoa('Barney'), {
get(target, prop, receiver) {
if(prop == 'grita' && typeof(target[prop]) == typeof(Function)) {
return function() {
console.log(`Interceptei o método: ${prop}, por isso estou exbindo essa mensagem!`);
return Reflect.apply(target[prop], target, arguments);
}
}
return Reflect.get(target, prop, receiver);
}
});
A minha dúvida é a seguinte: nós não deveríamos criar um tratamento para o caso do get no handler do Proxy ter interceptado um método do objeto 'Pessoa' que não o 'grita'?
Isso é, no caso da interceptação ser de uma propriedade, está claro que o handler funciona como deveria. Porém, no caso de ser um método, eu acredito que deveríamos fazer um tratamento diferente e terminar retornando
Reflect.apply(target[prop], target, arguments)
Estou louco, Flávio? Muito obrigado de antemão.