[DUVIDA] Mais ifs no TypeScript, normal ?
Pessoal, no meu processo de aprendizagem de TypeScript, comecei a perceber que estou tendo que colocar mais IF para validar dados, isso em comparação com o javaScript.
a duvida é: isso é comum de acontecer ? ou estou fazendo minhas funcões e recebendo retorno delas de forma errada
Não é comum não. Pode até haver algum caso específico, mas parece estranho. Claro que não podemos falar com detalhes porque não sabemos o que ocorreu.
O problema pode ser até mesmo que o código em JS era mais falho e fazendo para TS percebeu o erro.
O mais provável é que esteja fazendo algo diferente. Ou criou complicações sem necessidade quando mudou para TS.
Lembre-se que todo código JS é um código TS. Então não é nada normal. Na verdade, deveria acontecer o contrário, potencialmente, já que algumas verificações de tipos necessárias em JS não seriam mais necessárias em TS. A principal vantagem de TS sobre JS é a robustez, ou seja, é mais garantido que funcione corretamente sem você ter que escrever códigos para garantir isso.
Faz sentido para você?
Espero ter ajudado.
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).
A vantagem de utilizar o typescript está no desenvolvimento, você pode tornar o código muito mais legível e simples de entender com o typescript, além de que a integração dele com IDEs e editores é muito boa.
Toda e qualquer operação de io que lida com dados vindos do usuário precisa de validações, isso ocorrerá em qualquer linguagem, até mesmo em js puro. A vantagem é que com o typescript você não precisa validar nada para funções internas da sua aplicação, pois o próprio typescript já faz isso para você. Existem outras vantagens, mas com o tempo você vai aprendendo.
Para validar os dados existem libs como o zod, que fazem muito bem essa função em tempo de execução.
Sem mostrar o código fica complicado de te ajudar
uso Typescript e nao fico testando tipo nao
Era bom você mostrar um exemplo de código, mas como o @eliaseas disse, se você não tipar as variaveis corretamente, você vai ter que fazer algumas validações extras.
Uma forma legal de "Evitar IF's" na programação , é praticar e analisar os resultados da comunidade do Codewars.. Um codigo que muitas vezes vc faz com varios if's , loops etc, GERALMENTE tem uma combinmação de comandos de javascript que faz isso e nem sabemos...
Isso é natural, pois enquanto no JavaScript você pode fazer algo do tipo:
const sum = (a, b) => a + b;
// esse codigo é valido, embora a não seja obrigatoriamente um numero, ou uma string
no typescript o equivalente desta função seria
const sum = (a: any, b: any) => a + b;
Nesse caso o typescript te obriga a testar o tipo, para evitar erros em runtime.