Na atividade "04 - Arrow function e seu escopo léxico"
class NegociacaoController {
constructor(data, quantidade, valor) {
...
this._listaNegociacoes = new ListaNegociacoes(function(){
// contexto errado
this._negociacoesView.update(this._listaNegociacoes);
});
temos um problema onde o contexto que chama o update não funciona, uma vez que o this não tem _negociacoesView.
Desta forma, a atividade aponta para usar Arrow function a qual utiliza o contexto correto (desta forma não precisamos usar a Reflect API.
NOTA: Já tinha visto em alguns projetos open source o uso de : var that = this o qual tambem corrige o problema. Apenas fazendo nota aqui como referencia.
class NegociacaoController {
constructor(data, quantidade, valor) {
var that = this;
this._listaNegociacoes = new ListaNegociacoes(function() {
// funciona legal
that._negociacoesView.update(that._listaNegociacoes);
});