Em um certo momento do livro, foi falado que utilizando o this dentro da function, o javascript considera o objeto atual que o this esta sendo chamado (se passar a function como parametro para esse qualquer objeto, esse novo objeto sera a referencia do this). Porem, no arrow function eh diferente, pois utiliza o escopo léxico, sendo assim o this fazera referencia ao objeto que declarou a funcao. Ate esse ponto eu entendi e testei, tudo ok.
Minha duvida esta na pagina 208 do livro, onde esta sendo declado uma trap (get) no handler de um proxy.
if(typeof(target[prop]) == typeof(Function) && ['adiciona', 'esvazia'].includes(prop)) { return function() { target[prop].apply(target, arguments); this._negociacoesView.update(target); } }
Esse codigo nao funcionara, pq o this ira fazer referencia para o proxy, porem se eu troco por arrow function tambem nao funciona. No livro tem uma citacao sobre isso, porem nao conseguir entender.
se tivéssemos usado arrow function,resolveríamos esse problema, mas precisamos que o this da
função seja dinâmico; caso contrário, nossa solução não
funcionará.