class ProxyFactory {
static create(objeto, props, acao) {
// Retorne uma proxy desse objeto
return new Proxy(objeto, {
// Ação executada a cada get.
get(target, prop, receiver) {
// Limitando a execução da ação para um método especifico.
if(props.includes(prop) && typeof(target[prop]) == typeof(Function)) {
// Caso a propriedade esteja inclusa a troque pela função abaixo.
return function() {
console.log(`a propriedade "${prop}" foi interceptada`);
Reflect.apply(target[prop], target, arguments);
// LOCAL DA DÚVIDA
return acao(target);
}
}
return Reflect.get(target, prop, receiver);
}
})
}
Usei o código sem return e funcionou. Tem alguma diferença ?