Carregando...

Comparação

A atribuição encheu a caixa com nome. Agora perguntas o que está lá dentro: é o mesmo? é maior? já chega? A resposta é sempre sim ou não — true ou false. Essas perguntas são operadores de comparação. Mais tarde entram em condições; aqui aprendes a ler os símbolos e a confiar no boolean que devolvem.

O que é uma comparação?

Recebe dois operandos e devolve um boolean. Não guarda um número novo no nome da esquerda (isso era =). Depois de 5 === 5 o resultado é true. Depois de 5 === "5" é false porque os tipos diferem. Podes registar esse boolean, guardá-lo numa variável ou escrevê-lo na página.

Os operadores de relance

📊 Operadores de comparação do dia a dia

Operador Pergunta Resultado típico
=== mesmo valor e tipo? 5 === 5 → true
!== valor ou tipo diferente? 5 !== "5" → true
< estritamente menor? 3 < 10 → true
> estritamente maior? 3 > 10 → false
<= menor ou igual? 10 <= 10 → true
>= maior ou igual? 9 >= 10 → false

Mantém esta folha à mão. == e != também existem, mas este curso trata-os como armadilha de iniciante — podem converter tipos antes de comparar. Fica com === / !== até uma lição posterior sobre coerção.

Igualdade e desigualdade estritas

javascript
console.log(7 === 7);
console.log(7 === "7");
console.log(7 !== 7);
console.log(7 !== "7");
let n = 7;
console.log(n === 7);

=== verifica valor e tipo

Três iguais são o padrão do iniciante. Os dois lados têm de coincidir em valor e tipo. O número 7 não é o texto "7".

A consola imprime true, false, false, true, true. A última linha mostra que um número guardado continua a comparar-se de forma estrita com o literal 7. !== é a pergunta inversa: «não são o mesmo?» — aqui 7 !== "7" é true porque os tipos diferem.

Por que o iniciante evita ==

Dois iguais podem transformar texto em número (ou o contrário) e só depois decidir. Parece cómodo até esconder um erro.

Igualdade frouxa frente à estrita

javascript
console.log(7 == "7");
console.log(7 === "7");
console.log(0 == false);
console.log(0 === false);
console.log("" == 0);
console.log("" === 0);

7 == "7" dá true embora um lado seja texto. 7 === "7" fica false. Também 0 == false e "" == 0 saem true — surpresas ruidosas. O teste estrito é honesto: número, boolean e cadeia vazia são coisas distintas. Neste curso prefere ===.

Ordenar números

< > <= >= põem números em ordem. A igualdade conta como sim em <= e >=.

Ranking numérico

javascript
console.log(3 < 10);
console.log(3 > 10);
console.log(10 <= 10);
console.log(9 >= 10);
let score = 80;
console.log(score >= 60);

Obténs true, false, true, false, true. A última linha é a pergunta do dia a dia: «a pontuação chega?». Se quiseres um nome para a resposta, guarda o boolean.

Guardar uma bandeira booleana

javascript
let score = 80;
let pass = score >= 60;
console.log(pass);
let age = 17;
let adult = age >= 18;
console.log(adult);

pass é true (80 passa 60). adult é false (17 não chega a 18). A comparação já produziu o boolean — só lhe deste um nome.

Ordem de cadeias

javascript
console.log("A" < "B");
console.log("B" < "A");
console.log("apple" === "apple");
console.log("Apple" === "apple");
console.log("10" < "9");

O texto segue a ordem do dicionário

As cadeias comparam-se carácter a carácter, como um dicionário — não como o «tamanho» humano. "A" < "B" é true. Maiúscula não é minúscula ("Apple" === "apple" é false). Dígitos entre aspas também seguem regras de texto: "10" < "9" pode ser true porque "1" vem antes de "9". Converte com Number() quando querias ranking numérico.

Mostrar uma verificação na página

Calcula um boolean e escreve um rótulo curto na página.

Verificação de página com comparação

html
<!DOCTYPE html>
<html>
<head>
<title>Comparison — page check</title>
</head>
<body>
<p id="out">…</p>
<script>
let age = 18;
let adult = age >= 18;
let box = document.getElementById("out");
box.textContent = "adult=" + adult;
</script>
</body>
</html>

age é 18, logo adult é true e a página mostra adult=true. Muda age para 17, atualiza — deves ver adult=false. Mais tarde ramificas com if; esta demo só imprime o sim/não.

Experimenta tu

  1. Regista 8 === 8 e 8 === "8".
  2. Regista 8 !== "8" e 8 !== 8.
  3. Põe 4 == "4" ao lado de 4 === "4" e nota a diferença.
  4. Guarda let pts = 50 e regista pts >= 60.
  5. Regista "cat" === "cat" e "Cat" === "cat".
  6. Na demo HTML muda só age, atualiza e lê o novo texto adult=.

Erros comuns

  • Escrever = quando querias === (isso guarda, não pergunta)
  • Usar == porque «às vezes funciona» — também converte tipos
  • Ordenar cadeias de dígitos como se fossem números ("10" < "9")
  • Esquecer que a comparação já devolve um boolean — não o envolvas à mão com true/false
  • Misturar esta família com operadores lógicos (&& ||) — esses combinam sim/não; próxima lição

Resumo

  • A comparação pergunta e devolve true ou false
  • Prefere === e !== (valor e tipo)
  • Ordena com < > <= >=; a igualdade entra em <= e >=
  • As cadeias seguem a ordem do dicionário, inclusive resultados estranhos com dígitos
  • Evita == / != como padrão de iniciante
  • A seguir: operadores lógicos — combinar vários sim/não com &&, || e !

🧠 Teste Seu Conhecimento

Pronto para Começar

Teste Seu Conhecimento

Desafie-se com este questionário interativo e veja o quão bem você entende o tópico

❓
8
Perguntas
🎯
70%
Para Passar
♾️
∞
Tempo
🔄
∞
Tentativas

📝 Instruções

  • Leia cada pergunta cuidadosamente
  • Selecione a melhor resposta para cada pergunta
  • Você pode refazer o quiz quantas vezes quiser
  • Seu progresso será mostrado no topo