Aula 02 - Tipos Fundamentais e Inferência 🛠️
Recapitulando 🔄
- TypeScript adiciona tipos ao JavaScript
- O compilador protege nosso código
tsconfig.jsoné a base
Tipos Primitivos 🧱
Os blocos básicos: - string: textos - number: números (inteiros e decimais) - boolean: verdadeiro ou falso
Exemplo: Sintaxe de Anotação ✍️
O Poder da Inferência 🧠
- O TypeScript é inteligente!
- Se você atribui um valor, ele adivinha o tipo.
Quando Anotar? ⚖️
- Inferencia: Variáveis locais simples.
- Anotação: Parâmetros de função, retorno de funções e objetos complexos.
Trabalhando com Arrays 📚
Duas formas de escrever:
Arrays Fortemente Tipados 🛡️
- O TS impede que você adicione um
stringem um array denumber. - Segurança total em iterações (map, filter).
Tuplas: Arrays com Regras 📏
- Tamanho fixo e tipos específicos por posição.
Tuplas na Prática 📦
- Ideal para coordenadas (lat, long), retornos simples de funções ou estados (como no React).
Enums: Legibilidade 🏷️
- Define um conjunto de nomes para valores constantes.
Enums de String 🔠
- Valores mais claros para depuração.
O Tipo any (Perigo!) ⚠️
- Desativa a checagem de tipos.
- Use apenas em migrações ou casos extremos.
O Tipo unknown (Segurança) 🛡️
- Diferente do
any, ele não permite operações sem checagem de tipo prévia.
Estreitamento (Type Guards) 🔍
- Como "provar" ao TS o tipo de uma variável.
Void: Sem Retorno 🚫
- Usado em funções que executam uma tarefa mas não devolvem valor.
Never: O Impossível 🛑
- Funções que lançam erro ou entram em loop infinito.
Null e Undefined ❓
- No modo
strict, eles são tratados como erros se você não os prever. - Evita erros de "null references".
Resumo 🏁
- Tipos Primitivos
- Arrays e Tuplas
- Enums e Any/Unknown