Olá, Rogéria. Tudo bem?
O que deve estar acontecendo é que na primeira execução o local storage estará vazio, logo this.contatos será substituído por null, e então ocorrerá o erro. Você pode fazer uma pequena alteração no construtor de contato.service.ts para resolver:
constructor() {
const contatosLocalStorageString = localStorage.getItem('contatos');
const contatosLocalStorage = contatosLocalStorageString ? JSON.parse(contatosLocalStorageString) : null
if (contatosLocalStorage !== null) {
this.contatos = contatosLocalStorage || null;
}
localStorage.setItem('contatos', JSON.stringify(this.contatos))
}
Espero ter ajudado!
Siga firme nos seus estudos e conte com o fórum sempre que precisar!
Abraços :)
Caso este post tenha lhe ajudado, por favor, marcar como solucionado