Porque podemos inicializar o array de pensamentos vazio no componente listar-pensamento e não podemos inicializar o objeto Pensamento vazio no componente criar-pensamento?
Porque podemos inicializar o array de pensamentos vazio no componente listar-pensamento e não podemos inicializar o objeto Pensamento vazio no componente criar-pensamento?
Oii, Ana! Tudo bem?
A diferença entre inicializar o array de pensamentos vazio no componente listar-pensamento
e não poder no objeto Pensamento vazio no componente criar-pensamento
está relacionada ao formato esperado pelos atributos do objeto Pensamento.
No Angular, utilizamos interfaces para definir o formato dos dados que serão utilizados na aplicação. No caso do objeto Pensamento, a interface define que ele deve possuir os atributos id
, conteudo
, autoria
e modelo
, todos com seus respectivos formatos.
Quando inicializamos o array de pensamentos vazio no componente listar-pensamento
, não há nenhum problema, pois o array é apenas uma lista que irá armazenar objetos do tipo Pensamento. Nesse caso, não é necessário definir os valores iniciais dos atributos do objeto Pensamento, pois eles serão preenchidos posteriormente.
E no componente criar-pensamento
, estamos declarando uma variável do tipo Pensamento e, ao fazer isso, é necessário seguir o formato definido pela interface. Se você inicializar o objeto Pensamento vazio, estará criando um objeto que não possui os atributos necessários conforme a interface. Por isso, é importante definir os valores iniciais para os atributos id, conteúdo, autoria e modelo.
Para exemplificar, imagine que você está montando um carro de brinquedo de lego para a sua coleção. Primeiro, você precisa ter uma prateleira para colocar os carros, então não há problema estar vazia. Depois, para montar o carro, você precisa seguir um guia que mostra como cada peça deve ser encaixada para montar corretamente. Se você não seguir o guia, certamente o carro não ficará completo ou funcional.
Espero ter ajudado a entender melhor com a explicação.
Bons estudos, Ana!