Comparación
La asignación llenó la caja con nombre. Ahora preguntas qué hay dentro: ¿es lo mismo? ¿es mayor? ¿ya basta? La respuesta es siempre sí o no — true o false. Esas preguntas son operadores de comparación. Más adelante irán en condiciones; aquí aprendes a leer los símbolos y a fiarte del booleano que devuelven.
¿Qué es una comparación?
Toma dos operandos y devuelve un boolean. No guarda un número nuevo en el nombre de la izquierda (eso era =). Tras 5 === 5 el resultado es true. Tras 5 === "5" es false porque los tipos difieren. Puedes registrar ese booleano, guardarlo en una variable o escribirlo en la página.
Los operadores de un vistazo
📊 Operadores de comparación cotidianos
| Operador | Pregunta | Resultado típico |
|---|---|---|
=== |
¿mismo valor y tipo? | 5 === 5 → true |
!== |
¿valor o tipo distinto? | 5 !== "5" → true |
< |
¿estrictamente menor? | 3 < 10 → true |
> |
¿estrictamente mayor? | 3 > 10 → false |
<= |
¿menor o igual? | 10 <= 10 → true |
>= |
¿mayor o igual? | 9 >= 10 → false |
Ten esta hoja a mano. También existen == y !=, pero este curso los trata como trampa de principiante: pueden convertir tipos antes de comparar. Quédate con === / !== hasta una lección posterior sobre coerción.
console.log(7 === 7);
console.log(7 === "7");
console.log(7 !== 7);
console.log(7 !== "7");
let n = 7;
console.log(n === 7);
=== mira valor y tipo
Tres signos de igual son el valor por defecto para principiantes. Ambos lados deben coincidir en valor y tipo. El número 7 no es el texto "7".
La consola imprime true, false, false, true, true. La última línea muestra que un número guardado sigue comparándose de forma estricta con el literal 7. !== es la pregunta inversa: «¿no son lo mismo?» — aquí 7 !== "7" es true porque los tipos difieren.
Por qué el principiante evita ==
Dos iguales pueden convertir un texto en número (o al revés) y luego decidir. Parece cómodo hasta que oculta un error.
console.log(7 == "7");
console.log(7 === "7");
console.log(0 == false);
console.log(0 === false);
console.log("" == 0);
console.log("" === 0);
7 == "7" sale true aunque un lado sea texto. 7 === "7" se queda en false. También 0 == false y "" == 0 dan true — sorpresas ruidosas. Lo estricto es honesto: número, boolean y cadena vacía son cosas distintas. En este curso prefiere ===.
Ordenar números
< > <= >= colocan números en orden. La igualdad cuenta como sí para <= y >=.
console.log(3 < 10);
console.log(3 > 10);
console.log(10 <= 10);
console.log(9 >= 10);
let score = 80;
console.log(score >= 60);
Obtienes true, false, true, false, true. La última línea es la pregunta cotidiana: «¿alcanza la puntuación?». Si quieres un nombre para la respuesta, guarda el booleano.
let score = 80;
let pass = score >= 60;
console.log(pass);
let age = 17;
let adult = age >= 18;
console.log(adult);
pass es true (80 supera 60). adult es false (17 no llega a 18). La comparación ya produjo el booleano — solo le diste un nombre.
console.log("A" < "B");
console.log("B" < "A");
console.log("apple" === "apple");
console.log("Apple" === "apple");
console.log("10" < "9");
El texto sigue el orden de diccionario
Las cadenas se comparan carácter a carácter, como un diccionario — no como el «tamaño» humano. "A" < "B" es true. Mayúsculas no son minúsculas ("Apple" === "apple" es false). Los dígitos entre comillas también siguen reglas de texto: "10" < "9" puede ser true porque "1" va antes que "9". Convierte con Number() cuando querías un rango numérico.
Mostrar una comprobación en la página
Calcula un boolean y escribe una etiqueta corta en la 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 vale 18, así que adult es true y la página muestra adult=true. Cambia age a 17, recarga y deberías ver adult=false. Más adelante ramificarás con if; esta demo solo imprime el sí/no.
Pruébalo tú
- Registra
8 === 8y8 === "8". - Registra
8 !== "8"y8 !== 8. - Pon
4 == "4"junto a4 === "4"y nota la diferencia. - Guarda
let pts = 50y registrapts >= 60. - Registra
"cat" === "cat"y"Cat" === "cat". - En la demo HTML cambia solo
age, recarga y lee el nuevo textoadult=.
Errores frecuentes
- Escribir
=cuando querías===(eso guarda, no pregunta) - Usar
==porque «a veces funciona» — también convierte tipos - Ordenar cadenas de dígitos como si fueran números (
"10" < "9") - Olvidar que la comparación ya devuelve un boolean — no lo envuelvas a mano con
true/false - Mezclar esta familia con operadores lógicos (
&&||) — esos combinan resultados sí/no; siguiente lección
Resumen
- La comparación pregunta y devuelve
trueofalse - Prefiere
===y!==(valor y tipo) - Ordena con
<><=>=; la igualdad entra en<=y>= - Las cadenas siguen el orden de diccionario, incluso resultados raros con dígitos
- Evita
==/!=como valor por defecto de principiante - Siguiente: operadores lógicos — combinar varios sí/no con
&&,||y!
🧠 Pon a Prueba tu Conocimiento
Pon a Prueba tu Conocimiento
Ponte a prueba con este cuestionario interactivo y descubre qué tan bien entiendes el tema
📝 Instrucciones
- Lee cada pregunta cuidadosamente
- Selecciona la mejor respuesta para cada pregunta
- Puedes repetir el quiz tantas veces como quieras
- Tu progreso se mostrará en la parte superior