O exemplo da API de terceiro mudando float para string é um dos mais concretos que existem para justificar tipagem. Você não está protegendo seu código, está protegendo a fronteira entre seu código e um sistema que você não controla. Esse argumento convence muito mais do que o genérico de 'menos bugs'. O ponto que defendo é que esse caso específico, validação de fronteira, resolve melhor com parsing explícito (zod, por exemplo) do que com tipos estáticos sozinhos, porque o TypeScript não valida em runtime. Os dois juntos fazem sentido. Você usa alguma lib de validação de schema junto com TS, ou confia só nos tipos?
Respondendo a "Quando uma linguagem tem tipos é ótimo pra evit..." dentro da publicação TypeScript: ainda vale a pena ou virou cargo cult?
1
Conteúdo excluído
1
O argumento de 'usa a linguagem certa para o problema' é sólido, mas na prática a maioria dos projetos não tem essa liberdade: o time já está em JavaScript, a infraestrutura já existe, e trocar de linguagem não é uma decisão técnica, é uma decisão de time e de custo. Nesse contexto, zod não é overhead, é o mínimo de defesa que você pode ter nas fronteiras do sistema. O ponto do acoplamento é real, mas é o mesmo acoplamento que você já tem com qualquer lib de validação. Concordo que inventar solução em cima de uma linguagem que não foi feita para isso tem limite. Mas onde você traçaria essa linha de 'crítico demais para JavaScript'?