Se você já trabalha com JavaScript, provavelmente já ouviu falar do TypeScript. Ele vem se tornando praticamente padrão em projetos front-end modernos, e hoje vamos entender o porquê.

O que é TypeScript?

TypeScript é um superset do JavaScript criado pela Microsoft que adiciona tipagem estática à linguagem. Todo código JavaScript válido é também código TypeScript válido, então a migração pode ser feita de forma gradual.

Por que usar tipagem?

  • Erros em tempo de desenvolvimento: Muitos bugs que só apareceriam em produção são pegos antes mesmo de rodar o código.
  • Autocomplete melhor: O editor entende exatamente o formato dos seus dados, então as sugestões ficam muito mais precisas.
  • Código mais fácil de manter: Tipos funcionam como documentação viva do seu código.
  • Refatoração mais segura: Mudar uma interface e ver imediatamente onde ela quebra é um alívio enorme em projetos grandes.

Tipos básicos

let nome: string = "Felipe"
let idade: number = 28
let ativo: boolean = true
 
function saudacao(nome: string): string {
  return `Olá, ${nome}!`
}

Interfaces e Types

Um dos recursos mais usados no dia a dia é a definição de formatos de objetos:

interface Usuario {
  nome: string
  idade: number
  email?: string // opcional
}
 
function criarUsuario(usuario: Usuario) {
  console.log(usuario.nome)
}

Genéricos

Genéricos permitem escrever código reutilizável sem perder a segurança de tipos:

function primeiroItem<T>(lista: T[]): T {
  return lista[0]
}
 
const numero = primeiroItem([1, 2, 3]) // number
const texto = primeiroItem(["a", "b"]) // string

Vale a pena migrar?

Se o seu projeto está crescendo, quase sempre a resposta é sim. A curva de aprendizado inicial é pequena comparada ao tempo que você economiza evitando bugs bobos e facilitando a manutenção do código no futuro.

Conclusão

TypeScript não é apenas uma moda passageira, é uma ferramenta que resolve problemas reais do dia a dia de quem programa em JavaScript. Se você ainda não experimentou, esse é um ótimo momento para começar.

Até a próxima.