Senhores, bom dia.
Acompanhando o vídeo 06 da aula 02 (Método que não altera propriedade), no meu caso, não deu o mesmo erro (Uncaught TypeError: Cannot read property 'negociacoes' of undefined) e o objeto da classe Negociacao foi adicionado normalmente.
<script>
let lista = new Proxy(new ListaNegociacoes(), {
set: function(target, prop, value, receiver) {
console.log(`${prop} mudou de ${target[prop]} para ${value}`);
return Reflect.set(target, prop, value, receiver);
}
});
lista.adiciona(new Negociacao(new Date(), 5, 264));
</script>
Na classe ListaNegociacoes, coloquei um console.log no método adiciona pra ver se tava tudo certo:
class ListaNegociacoes {
...
adiciona(negociacao) {
this._negociacoes.push(negociacao);
console.log(this);
console.log(negociacao);
}
Ao executar, os objetos foram exibidos no console sem maiores problemas. Poderia ser modificação do próprio browser (chrome) com suporte a essa "feature"?
Proxy {_negociacoes: Array(1)}
[[Handler]]:Object
[[Target]]:ListaNegociacoes
[[IsRevoked]]:false
Negociacao {_data: Sat Feb 03 2018 10:03:01 GMT-0200 (-02), _quantidade: 5, _valor: 264, _id: "0.760"}