O que é TypeScript e Por Que Ele Existe
1 min de leitura
Você já escreve JavaScript e provavelmente já levou um undefined is not a function em produção. O TypeScript é a resposta da Microsoft
pra esse problema: é um superconjunto de JavaScript que adiciona
tipos estáticos opcionais ao código, sem mudar a sintaxe básica.
Um arquivo TypeScript se parece muito com JavaScript, só que com anotações de tipo:
// saudacao.ts
function saudacao(nome: string, hora: number): string {
return `Olá, ${nome}! São ${hora}h.`;
}
saudacao("Ana", 14); // ✅ ok
saudacao("Ana", "14h"); // ❌ erro: string não é number
Em JavaScript puro, esse erro só apareceria quando a função rodasse - em produção, com usuário esperando. Em TypeScript, o editor pinta de vermelho enquanto você digita.
Como o TypeScript funciona na prática
O navegador (e o Node) não entendem TypeScript. O fluxo é:
seu código (.ts) → tsc (compilador) → JavaScript puro (.js) → roda
O tsc lê seus arquivos, valida os tipos, e gera JavaScript
equivalente que pode ser executado em qualquer runtime. É o mesmo
modelo do Babel com o JSX do React, se você já viu.
O que o TypeScript não é
- Não é uma linguagem nova. Todo JS válido é TS válido. Você
pode renomear
.jspra.tse o código continua rodando. - Não roda no navegador. O resultado final é sempre JS.
- Não substitui testes. Tipos pegam algumas categorias de erro, não todas. Lógica de negócio, integração e edge cases continuam precisando de teste.
Três conceitos pra fixar:
- TypeScript - superconjunto de JS que adiciona tipagem estática opcional.
- Compilador (
tsc) - lê seus.ts, valida tipos e gera.jsequivalente. - Erro de tipo em tempo de compilação - o
tscrecusa rodar build se algum tipo bater errado; o erro aparece no editor antes de você rodar o código.
Dica: comece sem renomear tudo pra
.tsde uma vez. Em projeto novo, TS desde o início é trivial. Em projeto legado, migre arquivo por arquivo - otscaceita.jse.tsno mesmo projeto (comallowJs: truenotsconfig.json).
No próximo nó, vamos ver os tipos primitivos: string, number,
boolean e os especiais any, unknown, never, void.