Erro:
18 | inscrever(func){
> 19 | this._inscritos.push(func);
| ^ 20 | }
21 | desinscrever(func){
22 | this._inscritos = this._inscritos.filter(f => f !== func);
Entendi que a propriedade push está retornando sem o valor da função func.
Mas ela está sendo definida em:
notificar(){
this._inscritos.forEach(func =>{
func(this.notas);
});
}
Alguma luz?
Arquivo completo:
export default class ArrayDeNotas{
constructor(){
this.notas = [];
this.inscritos = [];
}
adicionarNota(titulo, texto, categoria){
const novaNota = new Nota(titulo, texto, categoria);
this.notas.push(novaNota);
this.notificar();
}
apagarNota(indice){
this.notas.splice(indice, 1);
this.notificar();
}
inscrever(func){
this._inscritos.push(func);
}
desinscrever(func){
this._inscritos = this._inscritos.filter(f => f !== func);
}
notificar(){
this._inscritos.forEach(func =>{
func(this.notas);
});
}
}
class Nota{
constructor(titulo, texto, categoria){
this.titulo = titulo;
this.texto = texto;
this.categoria = categoria;
}
}