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.