[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.

Pra que usar any? melhor continuar no js hehe o certo seria ``` const sum = (a: number, b: number) => a + b; ```
`any` foi apenas para representar exatamente o mesmo codigo em TS, uma vez que o Javascript não checa tipos de argumentos de função.
Deve-se evitar o any, mas qd dá erro de tipagem dizendo q o tipo pd ser qq coisa, eu costumo colocar o any pra tirar o erro. Não vejo mal nisso... me corrijam se eu estiver errado.