static create(obj, props, acao){
return new Proxy(obj,{
get(target, prop, receiver){
console.log(`valor anterior: ${target[prop]}`);
console.log(prop + " é do tipo " + typeof(prop));
if(props.includes(prop) && ProxyFactory._isFunction(target[prop])){
return function() {
console.log(`interceptado: ${prop}`);
**Reflect.apply(target[prop], target, arguments);**
acao(target);
}
}
return Reflect.get(...arguments);
},
Eu consegui compreender a função do Reflect.get e set no proxy, porém não consegui entender a função do .apply() no código, sendo que o código ele não funciona sem ele.