Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Target ou Reflect

No lugar de target eu não poderia usar o receiver, pois depois de incluido no proxy ele refenrencia para o objeto original?

Realizei ums testes e todo valor que atribuo somente ao proxy é atribuido tbm ao objeto original que esta atrás da camada proxy. Isso é verdadeiro ou somente alguma coisa do código que estamos escrevendo.

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

                    return function(){

                        console.log(`interseptando ${prop}`)
                        Reflect.apply(target[prop], target, arguments)

                    }
                }

                return Reflect.get(target,prop,receiver);
            }
        }
1 resposta
solução!

Fala ai Paulo, tudo bem? Vamos lá:

No lugar de target eu não poderia usar o receiver, pois depois de incluido no proxy ele refenrencia para o objeto original?

Na verdade o receiver é o seu Proxy se você trocar o target (objeto alvo) por ele, o JavaScript vai ficar em um loop infinito, estourando o Call Stack.

Isso porque ele vai chamar o get do Proxy infinitamente.

Realizei ums testes e todo valor que atribuo somente ao proxy é atribuido tbm ao objeto original que esta atrás da camada proxy. Isso é verdadeiro ou somente alguma coisa do código que estamos escrevendo.

Quando você altera o Proxy ele também vai alterar o objeto original (caso o set do Proxy esteja fazendo isso).

Ele seria apenas uma camada acima do seu objeto.

Espero ter ajudado.