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.
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.
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 >=.
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.
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.
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.
<!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
- Regista
8 === 8e8 === "8". - Regista
8 !== "8"e8 !== 8. - Põe
4 == "4"ao lado de4 === "4"e nota a diferença. - Guarda
let pts = 50e registapts >= 60. - Regista
"cat" === "cat"e"Cat" === "cat". - Na demo HTML muda só
age, atualiza e lê o novo textoadult=.
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
trueoufalse - 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
Teste Seu Conhecimento
Desafie-se com este questionário interativo e veja o quão bem você entende o tópico
📝 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