A tipagem estática é um sistema de tipos em que os tipos das variáveis são definidos durante a fase de desenvolvimento e verificados em tempo de transpilação, antes mesmo de você executar o código. Isso significa que, quando você declara uma variável ou uma função, você especifica o tipo de dado que ela pode armazenar ou retornar.

Por exemplo, em TypeScript, você pode declarar uma variável do tipo number para armazenar números inteiros ou de ponto flutuante:

let idade: number = 30;

Nesse exemplo, a variável idade é declarada como do tipo number, o que significa que ela só pode conter valores numéricos. Se você tentar atribuir uma string ou outro tipo de dado a essa variável, o TypeScript emitirá um erro em tempo de transpilação.

Por que a Tipagem Estática é Importante?

1. Detecção Antecipada de Erros

A tipagem estática permite que o TypeScript verifique seu código em busca de erros de tipo em tempo de transpilação. Isso significa que você pode detectar e corrigir erros antes mesmo de executar o código, o que torna seu código mais confiável e evita problemas em tempo de execução.

2. Melhor Documentação

A tipagem estática fornece uma forma de documentação embutida no código. Quando você declara o tipo de uma variável ou parâmetro de função, está comunicando explicitamente a intenção do uso dessa variável. Isso torna seu código mais legível e compreensível para você e outros desenvolvedores que trabalham no projeto.

3. Ferramentas de Desenvolvimento Avançadas

A tipagem estática permite que as ferramentas de desenvolvimento, como editores de código e IDEs, ofereçam recursos avançados, como autocompletar, sugestões de código e verificação de erros em tempo real. Isso aumenta a produtividade do desenvolvedor.

4. Refatoração Segura

Com tipos definidos, você pode realizar refatorações com confiança, sabendo que o TypeScript ajudará a garantir que as alterações não causem erros inesperados em outras partes do código.

Utilizando tipagem estática

1. Tipos primitivos

// Tipos primitivos
let age: number = 25;
let name: string = "John";
let isActive: boolean = true;
  1. let age: number = 25;: Declara uma variável chamada age que só pode conter números e atribui o valor 25 a ela.
  2. let name: string = "John";: Declara uma variável chamada name que só pode conter texto (cadeia de caracteres) e atribui o valor "John" a ela.
  3. let isActive: boolean = true;: Declara uma variável chamada isActive que só pode conter valores booleanos (verdadeiro ou falso) e atribui o valor true a ela.

2. Inferência de Tipos