Variáveis e Tipos de Dados

O que vais aprender nesta aula:

  • O que são variáveis e para que servem
  • A diferença entre let, const e var
  • Os tipos de dados primitivos: String, Number, Boolean
  • Boas práticas de nomeação em Português

🧠 Teoria (com Analogia e Contexto Real)

Uma variável é um espaço na memória do computador onde guardamos informação para usar mais tarde.

📦 Analogia das Caixas de Muesli

Imagina que estás a organizar a cozinha:

Uma variável é como um tupperware ou uma caixa com uma etiqueta.

  • A etiqueta é o nome da variável (ex: arroz).
  • O conteúdo é o valor (ex: o arroz em si).
  • Podes trocar o conteúdo da caixa (se for arroz basmati por arroz carolino), mas a etiqueta mantém-se.

Porque é que isto importa? Sem variáveis, teríamos de repetir os mesmos dados vezes sem conta. Se quiséssemos mudar o preço de um produto numa loja online, teríamos de alterar em 1000 sítios diferentes. Com variáveis, mudamos apenas num sítio!

💡 Sabias que? No início do JavaScript existia apenas var. O let e o const só surgiram em 2015 (ES6) para resolver problemas de confusão no código. Hoje em dia, evita-se usar var!

💻 Prática (Orientada e Progressiva)

Experimenta estes códigos na consola:

Exemplo 1: Declarar e Atribuir (let)

Usamos let quando o valor pode mudar no futuro.

let idade = 25;
console.log(idade); // 25

idade = 26; // Fizeste anos!
console.log(idade); // 26

Exemplo 2: Constantes (const)

Usamos const para valores que nunca devem mudar.

const nome = "Sandro";
console.log(nome);

// Se tentares isto, vai dar erro:
// nome = "Pedro"; // Uncaught TypeError: Assignment to constant variable.

Exemplo 3: Tipos de Dados

O JavaScript descobre automaticamente o tipo do dado (Tipagem Dinâmica).

let produto = "Computador"; // String (texto)
let preco = 999.99;         // Number (número)
let emStock = true;         // Boolean (verdadeiro/falso)

console.log(typeof produto); // "string"
console.log(typeof preco);   // "number"
⚠️
Erro Comum: Não uses aspas para números! "5" é texto, 5 é número. Se somares "5" + 5 o resultado será "55" (texto) e não 10.

✅ Verificação de Conhecimento

1. Qual é a melhor forma de declarar uma variável para armazenar a tua Data de Nascimento (que nunca muda)?

var dataNascimento = "1990-01-01";
let dataNascimento = "1990-01-01";
const dataNascimento = "1990-01-01";

2. O que acontece se tentares alterar o valor de uma variável const?

O valor muda normalmente.
O JavaScript dá um erro e o código para.
O computador explode (brincadeira... nada acontece).

3. Qual destes nomes de variável segue as boas práticas (camelCase)?

NomeDoUtilizador
nome_do_utilizador
nomeDoUtilizador

🧩 Desafio Prático

A Troca de Valores (Swap)

Tens dois copos (variáveis): um com sumo de laranja e outro com leite. Queres trocar o conteúdo dos copos.

Objetivo: Trocar os valores das variáveis copoA e copoB.

Dica: Vais precisar de um terceiro copo (uma variável temporária) para não entornar nada!

let copoA = "Laranja";
let copoB = "Leite";

// Escreve o teu código aqui para trocar os valores
// No final, copoA deve ser "Leite" e copoB deve ser "Laranja"

console.log("Copo A:", copoA);
console.log("Copo B:", copoB);
Mostrar Solução
let copoA = "Laranja";
let copoB = "Leite";

// Criamos uma variável temporária (Copo C)
let temporario = copoA; // Guardamos "Laranja" no temporário

copoA = copoB; // Colocamos "Leite" no copoA (que agora perdeu a Laranja)
copoB = temporario; // Colocamos o que estava guardado ("Laranja") no copoB

console.log("Copo A:", copoA); // Leite
console.log("Copo B:", copoB); // Laranja

📌 Explicação: Este é um padrão clássico de programação. Sem a variável temporario, se fizéssemos logo copoA = copoB, perderíamos o valor original de copoA para sempre!