TypeScript é incrível para mim e talvez seja incrível para você
This article is also available in English (https://medium.com/@kelvne.pechim/typescript-is-great-for-me-and-might-be-for-you-fdaf2007a3c7)
Eu trabalho com desenvolvimento já tem um bom tempo. Eu melembro das minhas primeiras aulas de programação na UFMG e como eu odiava C, C++ e outras linguagens fortemente tipadas. Muita ingenuidade. 😅
Eu já tinha experiência com programação antes de entrar na universidade. Na maior parte do tempo eu programava com linguagens com tipagem fraca, então não conseguia entender porque eu iria querer definir o tipo de uma variável ou definir uma interface para uma função.
Bem… Maturidade vem com a experiência, né? 😆
JavaScript é incrível! TypeScript é mais incrível!
Já tem três anos que eu tenho contato com JavaScript diariamente. Eu me sinto muito bem trabalhando com JS mas sua sintaxe tem alguns problemas, na minha minha opinião, que só uma linguagem com tipagem fraca tem.
JavaScript é incrível. É uma linguagem fácil. O que significa que você pode escrever protótipos incrivelmente rápido. O ecossistema é tão grande que existe uma enorme quantidade de bibliotecas e frameworks e é possível construir aplicações para diferentes plataformas utilizando JS.
TypeScript é ainda mais fascinante uma vez que condensa tudo que o JavaScript é e muito mais. De certa forma, o TS consertou JavaScript para mim.
Eu decidi dar uma chance para o TypeScript após estudar Golang. — Eu tentando convencer meu chefe de que TypeScript é incrível.
Golang 😍
Buffed JavaScript
TypeScript não é apenas uma linguagem que possui interoperabilidade com uma base de código JavaScript. TypeScript elimina a necessidade do Babel na maiorias dos casos, tem um ótimo linter, possui integrações de auto-complete para o Visual Studio Code e outras IDEs. Além disso, sua forte tipagem faz com que o desenvolvimento usando TypeScript fique muito mais prazeroso e seu código mais limpo e fácil de depurar.
TypeScript is just a buffed version of JavaScript. — Eu e outras trezentas e quinze mil pessoas.
O futuro será bom?
Saber o que vai acontecer é sempre bom. Bem, na programação. Spoilers são ruins. 😠
TypeScript vai te ajudar a previnir erros em tempo de execução. Já que você pode ver o futuro! Olha só:

Observem as funções acima como exemplo. Sempre que eu chamar a função findPokemon eu sei exatamente que um Pokemon será retornado — Generics ❤️ — . O Pokemon é definido por essa interface:
export interface Pokemon {
id: number,
name: string,
sprite?: string,
};Então eu posso usar a função sem medo:
findPokemon(1)
.then((pokemon) => {
console.log(pokemon.name) // Logs out Bulbasaur
});Eu não preciso verificar se o Pokemon que foi retornado possui a propriedade name. Eu sei que tem. Já que o compilador do TypeScript nem vai construir meu projeto se eu tentar acessar uma propriedade que não existe em uma interface ou tipo.

Isso não significa que você não vai ter mais erros em tempo de execução. Quando você lê um JSON, por exemplo, você não pode ter certeza do tipo dos dados nele. Você ainda vai precisar escrever alguns try/catch e outras formas de tratamento de erros.
Você provavelmente não vai precisar mais do Babel
TypeScript também é o JavaScript do futuro. A linguagem já possui muitos recursos do ES6, ES7 e adiante… O TypeScript vem com suporte nativo ao JSX! (https://www.typescriptlang.org/docs/handbook/jsx.html)
O TypeScript gera código limpo, legível e rápido. Ele roda em qualquer lugar que roda JavaScript. É totalmente configurável. Todo projeto escrito em TypeScript possui um arquivo tsconfig.json. Lá você pode até mudar qual a versão do ECMAScript você deseja que seja gerada.
É fácil testar
É muito fácil começar a escrever TypeScript. Já que a interoperabilidade com o JavaScript é total, você pode simplesmente instalar o TypeScript e criar um arquivo tsconfig.json dentro da raiz do seu projeto e começar a digitar.
Para mais informações sobre instalação: https://www.typescriptlang.org/
Dica master blaster: Para aprender TypeScript enquanto faz apps incríveis => ReactXP! (https://microsoft.github.io/reactxp/)
Written with much curiosity! — Pechim, K.
