TypeScript é uma linguagem que adiciona tipos ao JavaScript. Você escreve o código dizendo que tipo de dado cada variável e função espera, e o compilador avisa dos erros antes de o programa rodar.

Como funciona

Todo código JavaScript válido também é TypeScript válido. A diferença é que você pode anotar os tipos. Navegadores e o Node.js não executam TypeScript diretamente: o código é convertido para JavaScript antes, em uma etapa chamada compilação.

Nessa etapa, o compilador verifica se os tipos fazem sentido. Se você tentar somar um número com um texto onde isso não é permitido, ele mostra o erro no editor.

Terminal
npm install --save-dev typescript
npx tsc arquivo.ts

A configuração do projeto fica no arquivo tsconfig.json.

Exemplo prático

Imagine uma função que calcula o preço final de um pedido. Em JavaScript puro, alguém pode passar o valor como texto por engano e só descobrir o problema em produção.

Em TypeScript, você declara os tipos:

TypeScript · calcular.ts
function precoFinal(valor: number, desconto: number): number {
  return valor - valor * desconto;
}

precoFinal("100", 0.1); // erro apontado pelo compilador

O editor marca a chamada errada na hora, antes de qualquer cliente ver o problema.

Para que serve

O TypeScript serve para:

  • Encontrar erros cedo, ainda no editor.
  • Facilitar a manutenção de projetos grandes e de times com várias pessoas.
  • Melhorar o autocompletar e a navegação pelo código.
  • Documentar, pelos tipos, o que cada função espera e devolve.

Para quem usa agentes de IA para programar, os tipos funcionam como uma rede de segurança: se o agente gerar código incompatível, o compilador acusa o erro, o que ajuda a revisar. Muitos SDKs de IA também oferecem suporte a TypeScript.

Cuidados

Tipos só valem em tempo de desenvolvimento. Dados que chegam de fora, como respostas de API, ainda precisam ser validados quando o programa roda. Além disso, há uma pequena curva de aprendizado e uma etapa extra de compilação.

Diferença entre TypeScript e JavaScript

JavaScript não exige tipos e executa direto. TypeScript acrescenta tipos e precisa ser compilado para JavaScript. Em troca do trabalho extra, entrega mais segurança e melhor suporte do editor.