🧙‍♂️ 7 dicas para iniciantes em Typescript
Published: 2023-03-12 13:46:39

Fala aprendizes, nesse artigo eu vou ensinar 7 dicas para você que está começando a aprender Typescript ou que quer começar, mas não sabe como.

Algumas dicas vão ser para quem está começando do zero com Typescript e outras pra quem já explorou um pouco mais do Typescript.

## 1. Use o Typescript Playground para praticar

No [Typescript  Playground](https://www.typescriptlang.org/play) você pode começar a programar em typescript sem precisar configurar todo o seu ambiente.

Ele também te da diversas informações extras que podem te ajudar a entender melhor como o Typescript funciona, como por exemplo:

- Ver e editar o TS Config
- Escolher diferentes versões
- Ver o código JS e TS gerado
- Ver erros, logs

## 2. Aprenda sobre as diferentes configurações do Typescript

O Typescript possui muitas configurações e aprender todas pode ser difícil, mas algumas são importantes e podem fazer muita diferença na hora de programar, portanto recomendo que você aprenda ou de uma olhada nas seguintes configurações:

- [strictNullChecks](https://www.typescriptlang.org/tsconfig#strictNullChecks)
    - Verifica todas as variáveis que são `null` ou `undefined` e da erro caso você tente acessar uma propriedade de uma variável que é `null` ou `undefined`
    - Muito util para evitar erros como `Cannot read property X of null|undefined`
- [noImplicitAny](https://www.typescriptlang.org/tsconfig#noImplicitAny)
    - Typescript dará um erro quando você declarar algo sem um tipo
    - Ajuda a manter o código sempre com tipos
- [allowJs](https://www.typescriptlang.org/tsconfig#allowJs)
    - Permite que você use arquivos Javascript junto com Typescript
    - Ajuda muito caso você queria converter um projeto de Javascript para Typescript, mas de maneira incremental, aos poucos.

> *[Video curto sobre essas 3 configurações](https://youtube.com/shorts/Y7nJbznoMl8?feature=share)*
> 

## 3. Entenda o que acontece quando se usa o Typescript

Quando você usa o Typescript, o que ele de fato faz é verificar se todos os tipos estão corretos e depois transformar o seu código Typescript em Javascript. Mas é importante lembrar que só porque não teve nenhum error no Typescript, não quer dizer que o seu código Javascript também não terá nenhum erro.

A verificação dos tipos no Typescript acontece só no seu editor de texto e na hora de compilar para Javascript, mas na hora de rodar o código Javascript, não tem como garantir que os tipos estarão certos.

Isso nos leva para a próxima dica…

## 4. Utilize o "strict mode" para garantir maior segurança e robustez no seu código.

Essa dica é para enfatizar a necessidade de usar a configuração [strictNullChecks](https://www.typescriptlang.org/tsconfig#strictNullChecks).

Isso te salvará de muitos erros no Javascript.

## 5. Converta códigos que você escreveu em Javascript para Typescript

Começar direto com Typescript pode ser um pouco complicado para um iniciante, então pegar um código em Javascript que você escreveu e converter para Typescript irá te ajudar muito, pois você já irá estar familiarizado com os tipos que você estará usando. 

## 6. Aprenda sobre Generics

Essa dica é um pouco mais avançada, mas é fundamental para programar.
Quase tudo que você usar no Typescript estará usando Generics (Um array `[]` usa Generics).

Existem diversos conteúdos online e de graça para aprender Generics no Typescript, mas recomendo que você assista um video que fiz onde eu explico desde o começo  do porque existe Generics até como usa-lo no Typescript.

Video: [Aprenda Generics com Typescript do jeito certo!](https://youtu.be/Gf9vS0yu7zc) 

## 7. Como a decifrar os erros do Typescript

Quando você começar a usar alguns tipos mais avançados no Typescript, pode ser que você encontre erros enormes e difíceis de entender.
A dica para entender esses erros é olhar para o fim do erro, no ultimo paragrafo, pois normalmente la estará a real causa do erro.

---

Caso você prefira assistir esse conteúdo em video: [7 dicas para iniciantes em Typescript](https://youtu.be/K6YIN_VpBcA)