1
resposta

Porque o this não aponta para controller

O professor comentou : "Passamos o model como parâmetro do update(), ao adicionarmos o target. No entanto, o nosso código terá problema porque o this não será o controller, nem se usássemos uma arrow function. Por isso, vamos inserir uma variável chamada self. que receberá this."

Não entendi porque nesse caso, a arrow function não se aplica para this._negociacoesView.update(target);

this._listaNegociacoes = new Proxy(new ListaNegociacoes(), {

    get(target, prop, receiver) {

        if(['adiciona', 'esvazia'].includes(prop) && typeof(target[prop]) == typeof(Function)) {

            return function(){

              console.log(`método '${prop}' interceptado`);

             Reflect.apply(target[prop], target, arguments);

              this._negociacoesView.update(target);

            }
     }

     return Reflect.get(target, prop, receiver);
  }
});
1 resposta

Fala ai Felipe, tudo bem? Dá uma olhada nesse artigo do Lucas, ele explica muito bem os conceitos do this:

https://imasters.com.br/javascript/javascript-entendendo-o-de-uma-vez-por-todas

Acho que será mais facil do que eu redigitar todo o artigo.

Espero ter ajudado.