Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Por que exportar MensagemCadastro?

Por que a classe MensagemCadastro foi exportada se em nenhum lugar a importamos?

6 respostas

Oi Carlos, ela é usada sim! Ela é declarada no serviço e usada em CadastroComponent.

Já no exercício ela não é usada mas o exercício quer saber outras coisas sobre declaração correta.

Carlos, marquei como solução "sem querer querendo". Ficou clara a questão? Alguma dúvida ainda?

Olá, Flávio.

Pelo menos no meu código não utilizei no CadastroComponent.

Segue meu código: https://github.com/CViniciusSDias/angular2/blob/master/app/cadastro/cadastro.component.ts

Ah sim! Agora entendi sua pergunta!

É que o TypeScript infere tipos!. Se você disse que o método do seu serviço retorna um Observable<MensagemCadastro> que chamar o método o TypeScript já infere o tipo.

Belezinha agora?

Certo, mas, como eu não preciso importar o MensagemCadastro, também não preciso exportá-lo, certo?

solução!

Isso! Mas é uma boa prática você exportar porque deixa ao encargo de quem usar a sua API se ele quer explicitar a tipagem ou não.

TypeScript tenta agradar gregos e troianos. Ele tenta ser menos burocrático possível evitando ser igual a linguagens como Java e C# que temos que tipar tudo. Fica ao encargo do programador o quanto ele quer se aprofundar na tipagem.