Neste Desafio de Projeto, foi proposto a realização de 4 exercícios que tinham como objetivo a correção de arquivos em JS utilizando o TS.
O primeiro desafio abordava o conceito de tipagem utilizando para isso a um pequeno objeto com dois atributos. No código proposto os atributos deste objeto não eram tipificados e também não eram atribuídos no momento da instanciação do objeto, situações não aceitas em TP.
Para corrigir esse problema foi então modificado a implementação do objeto para que seu atributos já fossem criados e a tipificação foi realizada por inferência, ou seja, passando valores logo na instanciação.
Para auxiliar na visualização da resolução do problema, foi adicionado ao html um campo para o desafio onde se encontra um botão que ao ser clicado ele adiciona na tela uma frase contendo os atributos do objeto em questão.
O segundo desafio também tratou da questão de tipagem de atributos de objetos, porém no contexto de criação de uma interface para a reutilização da estrutura e padronização dos valores na instanciação de diferentes objetos.
Para isso então, foi criado uma interface que propõem o contrato a ser respeitado para objetos de seu tipo. Além disso, os atributos foram tipificados dentro da interface, obrigando assim que os objetos respeitem este padrão.
Além disso, foi criado um enum para o atributo profissão.
Também foi adicionado ao arquivo html um campo para o desafio contendo um botão que ao ser clicado ele imprime na tela uma lista com os objetos (pessoas)
Neste desafio a proposta era corrigir o código utilizando o TP.
O aplicativo proposto não estava funcionando pois existiam problemas na tipificação das variáveis que faziam com que as funcionalidades não funcionassem. Desta forma bastou corrigir algumas dessas tipificações e fazer pequenos ajustes nos algoritmos para que a aplicação funcionasse perfeitamente.
Este desafio possuia uma complexidade maior visto que envolvia o consumo de API e tratamento de objetos entregues pelas requisições. Mas o tópico principal continuava sendo a questão de tipificagem de variáveis e como isso interfere no funcionamento da aplicação.
Então, da mesma forma que no desafio 3 (porém com muito mais complexidade) foi necessário corrigir os tipos das variáveis e também acrescentar algumas linhas de código para que a aplicação fizesse seu trabalha (que é muito útil para quem adora cinema, diga-se de passagem XD ).