1
resposta

De onde vem o valor do model?

Boa noite, lendo todas as dúvidas quanto a mesma coisa, ainda não consegui entender. Até o momento só havia visto funções com return sendo passadas como parâmetro.

Qual será o valor passado para o model? Ainda não ficou claro pra mim.

   this._listaNegociacoes = new ListaNegociacoes(model => 
        this._negociacoesView.update(model)
    );
1 resposta

Fala ai Diego, tudo bem? Vamos lá:

Qual será o valor passado para o model?

Olhando o construtor da classe ListaNegociacoes podemos ver que ele recebe um parâmetro:

constructor(armadilha) {
    this._negociacoes = [];
    this._armadilha = armadilha;
}

Estamos apelidando esse parâmetro como armadilha, mas, quando invocamos a classe com:

new ListaNegociacoes(model => 
    this._negociacoesView.update(model)
)

Qual seria o valor passado para o parâmetro armadilha? Nesse caso será uma função, isso porque estamos criando uma arrow function e atribuindo ela para o construtor.

O código seria similar a:

function minhaFuncao () {
    console.log('Minha função')
}

new ListaNegociacoes(minhaFuncao)

Repare que criamos uma nova função e passamos sua referência como parâmetro para a chamada da ListaNegociacoes, mas, poderíamos criar auma função anônima diretamente na chamada:

new ListaNegociacoes(function () {
    console.log('Minha função')
})

Ambos os códigos são similares, a referência para essa função será passada para o parâmetro armadilha.

Espero ter ajudado.