Oi Paulo!!
O .forEach
realiza alguma ação (ou seja, uma função) sobre cada elemento de um array.
Olhe o exemplo abaixo:
let numeros = [1,2,3,4,5];
function multiplicaPor2(numero) {
console.log(2*numero)
}
numeros.forEach(multiplicaPor2);
O código acima printa no console os valores de numeros
multiplicados por 2, ou seja "2,4,6,8,10", pois para cada valor de números
, a função multiplicaPor2
foi executada.
Agora vamos substituir a function
por uma arrow function para que ela fique parecida com o código da aula:
let numeros = [1,2,3,4,5];
numeros.forEach((numero) => {console.log(numero*2)});
Os dois códigos realizam a mesma tarefa, porém a arrow function foi utilizada para que não fosse necessário declarar uma função separada e assim diminuir a quantidade de código escrita.
Voltando para o código da aula: o array this._inscritos
é composto por funções.
Então o código
notificar(){ this._inscritos.forEach(func =>{ func(this.categorias); } ); }
pode ser entendido como: para cada função (func
) dentro de this._inscritos
, execute func
com this.categorias
como parâmetro.
Espero que tenha ficado claro, mas se ainda houverem dúvidas, comenta aqui para que eu tente te ajudar novamente!