Oi, Franciely! Tudo bem?
Desculpa pela demora!
O TypeScript em si faz as verificações de erro em tempo de compilação, ou seja, quando o código está sendo convertido de TypeScript para JavaScript. Isso significa que em tempo de execução, que é quando as variáveis de fato possuem valores e as funções são executadas, não há verificação, porque nesse momento só há JavaScript.
Além disso, nesse projeto, o instrutor optou por não usar as restrições recomendadas do TypeScript, que tornaria o projeto mais restritivo, e por ser um projeto inicial poderia distrair um pouco do ponto principal que é o Angular.
Assim, o que acontece é o seguinte: o TypeScript não sabe que o que está sendo passado é uma variável do tipo string, tudo que ele sabe é que o ngModel
retorna algo do tipo any
. Então ele entende que existe a possibilidade de ser do tipo number
que é o correto, e fica silencioso.
Você pode verificar isso passando o mouse por cima do [(ngModel)]
de qualquer um dos inputs, você vai ver que aquela propriedade é do tipo any
.
Espero que tenha entendido! E aqui na plataforma temos os cursos de TypeScript que podem te ajudar a ter uma compreensão melhor sobre isso!