Variáveis e Tipos de Dados
O que são variáveis?
Variáveis guardam valores. Pense nelas como gavetas com etiqueta: cada uma tem um nome é guarda algo dentro.
let nome: string = "Maria"; // pode mudar depois
const PI: number = 3.14159; // não pode mudar (constante)
let vs const
let: valor pode ser trocadoconst: valor fixo, não muda
let idade: number = 25;
idade = 26; // ✓ OK
const pais: string = "Brasil";
// pais = "Portugal"; // ✗ ERRO! const não permite
Regra: use const por padrão. Só use let quando precisar mudar o valor.
Tipos primitivos
const nome: string = "Ana"; // texto
const idade: number = 20; // número
const ativo: boolean = true; // verdadeiro ou falso
const vazio: null = null; // vazio de propósito
const indefinido: undefined = undefined; // não definido
| Tipo | Exemplo | O que é |
|---|---|---|
string | "Olá", 'oi', `hey` | Texto |
number | 42, 3.14, -10 | Número (inteiro ou decimal) |
boolean | true, false | Verdadeiro ou falso |
null | null | Vazio intencional |
undefined | undefined | Não definido |
Tipagem em TypeScript
TypeScript não deixa você misturar tipos:
let mensagem: string = "Olá";
// mensagem = 42; // ✗ ERRO! número não é string
let contador: number = 0;
// contador = "dez"; // ✗ ERRO! string não é number
Inferência de tipo
TypeScript é esperto; se você atribui um valor, ele descobre o tipo sozinho:
let nome: string = "Carlos"; // tipo explícito
let sobrenome = "Silva"; // TypeScript sabe que é string
Erros comuns
// ✗ tipo errado
let preco: number = "29.90"; // string não é number
// ✓ correto
let preco: number = 29.90;
// ✗ reatribuir const
const nome: string = "Ana";
nome = "Bia"; // ERRO
// ✗ usar antes de declarar
console.log(x); // ERRO - x não existe ainda
let x: number = 10;
typeof: descobrindo o tipo
console.log(typeof "Olá"); // → "string"
console.log(typeof 42); // → "number"
console.log(typeof true); // → "boolean"
console.log(typeof undefined); // → "undefined"
console.log(typeof null); // → "object" (bug histórico!)
Exemplo prático: ficha de cadastro
const nome: string = "Maria Silva";
const idade: number = 22;
const matrícula: string = "2024001";
const ativo: boolean = true;
let faltas: number = 0;
console.log("=== Ficha do Aluno ===");
console.log(`Nome: ${nome}`); // → Nome: Maria Silva
console.log(`Idade: ${idade} anos`); // → Idade: 22 anos
console.log(`Matrícula: ${matrícula}`); // → Matrícula: 2024001
console.log(`Situação: ${ativo ? "Ativo" : "Inativo"}`); // → Situação: Ativo
console.log(`Faltas: ${faltas}`); // → Faltas: 0
faltas = faltas + 1;
console.log(`Faltas após registro: ${faltas}`); // → Faltas após registro: 1
faltas usa let porque muda. O resto usa const porque é fixo.
Referências
- Gramática e tipos - MDN Web Docs - guia completo sobre variáveis, declarações e tipos de dados em JavaScript
- JavaScript Variables - W3Schools - tutorial interativo sobre let, const e tipos primitivos
- Variáveis e Tipos no TypeScript - Glaucia Lemos - vídeo explicando variáveis e tipagem em TypeScript
Testa o que você leu
5 perguntas sobre esta aula. Errar aqui não custa nada - a explicação vem junto da correção.