Cargando...

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.

Igualdad y desigualdad estrictas

javascript
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.

Igualdad laxa frente a estricta

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" 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 >=.

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);

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.

Guardar una bandera booleana

javascript
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.

Orden de cadenas

javascript
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.

Comprobación de página con comparación

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 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ú

  1. Registra 8 === 8 y 8 === "8".
  2. Registra 8 !== "8" y 8 !== 8.
  3. Pon 4 == "4" junto a 4 === "4" y nota la diferencia.
  4. Guarda let pts = 50 y registra pts >= 60.
  5. Registra "cat" === "cat" y "Cat" === "cat".
  6. En la demo HTML cambia solo age, recarga y lee el nuevo texto adult=.

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 true o false
  • 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

Listo para Empezar

Pon a Prueba tu Conocimiento

Ponte a prueba con este cuestionario interactivo y descubre qué tan bien entiendes el tema

❓
8
Preguntas
🎯
70%
Para Aprobar
♾️
∞
Tiempo
🔄
∞
Intentos

📝 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