O typescript pode ser um pouco duro às vezes... bom ate onde entendo a intenção do typescript é essa mesmo, mostrar os bugs em dev para evitar em prod. quando comecei a codar com TS foi dificil também, comecei da pior forma na verdade, refatorando uma aplicação em react para .tsx, a cada tipagem que adicionava pensando em corrijir algum problema apareciam 20 novos erros (sim 20). demorei algumas semanas pra conseguir sumir com todos os any que havia usado inicialmente para ir rodando a aplicação enquanto tipava aos poucos. depois disso eu comecei a estudar backend desenvolvendo api's com express.js fiz algumas poucas em .js e em seguida partir pro .ts e parecia tudo tão simples em relação a fazer uma refatoração de um projeto já existente ou tipar um front com React. hoje em dia me da agonia iniciar um projeto sem ts. então eu diria que começar a estudar ts aplicando em frameworks ou bibliotecas é um pouco duro principalmente se for pra refatorar algo que já existe em js. voltar pro começo e ir aplicando ts em variaveis, funções, classes como se tivesse começando a estudar js irá te ajudar a perder esse odio inicial por TS.
você estudou por onde mano? a documentação na minha opinião nao me ajudou em nada e nao ta na ordem certa e
Fala mano!! Realmente o typescript pode ser duro as vezes kkkkkk, meu contato com TS foi com Angular, quando tive que dar continuidade a um projeto do cliente e antes disso nunca tinha usado TS com react e eu fiz exatamente o que o @lgrimm6 recomendou, voltar para o inicio, estudando TS da base. Meu desafio era aprender a usar Angular e o que ficou mais dificil foi não saber TS e estudar essa base do TS foi primordial para eu conseguir entregar o projeto no tempo combinado.
Recomendo a leitura da propria doc do TS e lá tem essa leitura muito boa para quem já sabe JS.
Eu ganhei uma bolsa de estudos na Kenzie Acadamy Brasil ano passado. o primeiro contato com ts foi com eles nesse projeto que tive que refatorar depois de ter desenvolvido em js, mas confesso que foram poucas vezes que abrir a documentação do TS. fui pegando assistindo as aulas e batendo a cabeça mesmo e ia pesquisando por demanda de erros que me apareciam. mas assim depois que você entende que apenas precisa definir os tipos das variaveis, dos argumentos, dos retornos e que você precisa manter esses tipos durante o desenvolvimento as coisas ficam facil. pelo menos isso é o principal. claro que tem muita coisa mais avançada mas a menos que você esteja desenvolvendo uma lib você nem vai chegar a usar, o que você mais vai fazer com ts é tipar variavel e função e passar os tipos certo o vscode ajuda muito nessa ultima parte por que se você passa o mouse em cima de uma função ou variavel ele vai exibir os tipos que estão sendo usados as vezes é so copiar e colar se quiser tipar ou usar os tipos que ele ta exibindo em algum metodo.
tipar variavel
const texto: string = 'exemplo'
tipar função
const somar = (a:Number,b:Number):Number => a+b
tipar função 2
interface IFunctionProps { arg1:Number, arg2:Number }
const multiplicar({arg1, arg2}:IFunctionProps):Number => a * b
usando as funções 1 e 2
const teste = somar('abc', 'def)
aqui vai da erro por que os argumentos foram definidos como Number mas estou passando strings.
const resultado:Number = multiplicar(2,2)
a variavel vai ser do tipo number e o retorno da função é do tipo number então tudo certo
const resultado2:String = somar(4,4)
aqui vai da erro por que resultado2 é pra ser do tipo string mas a função retorna um tipo Number
depois que pega essa base, fica bem mais simples.