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

Reflect.get()

const negociacao = new Proxy( new Negociacao( new Date(), 2, 100), {

            get(target, prop, receiver) {

                console.log(`A propriedade ${prop} foi interceptada!`);
                return Reflect.get(target, prop, receiver);
            }
 });

Por que não retornar direto "target[prop]"? To meio confuso com o uso do "Reflect". Por que o "Reflect.get()" internamente faz "target[prop]" e não "receiver[prop]"? Ele sempre vai dar um get no objeto usando a propriedade? Eu testei "receiver[prop]" e ele faz um baita loop. Loucura isso ai. Mas de qualquer jeito com o Reflect.get() ele só da uma consolada.logada a mais pra depois retornar o valor.

1 resposta
solução!

Bom dia!

O return target[prop] e return Reflect.get(target, prop, receiver) têm o mesmo efeito. O segundo utiliza a especificação da API de reflexão, uma tentativa de centralizar em um único lugar essas operações.

Você não pode acessar o receiver, porque ele é o proxy. Se você quer é acessar a propriedade do objeto target e não do receiver. Se acessar o receiver, estará disparando um amadilha que tentará acessar o proxy que disparará a armadilha....e assim por diante. Por isso o loop.

Sucesso e bom estudo meu aluno.