Operadores lógicos
Los operadores lógicos son herramientas que nos permiten combinar diferentes condiciones para tomar decisiones en nuestro código.
En programación, como en la vida, usamos operadores lógicos para evaluar múltiples condiciones.
🤔 ¿Qué es una evaluación?
Una evaluación es cuando le hacemos una pregunta a JavaScript y nos responde con true
(verdadero) o false
(falso). Por ejemplo:
5 > 3
es una evaluación que pregunta “¿es 5 mayor que 3?”edad >= 18
es una evaluación que pregunta “¿es la edad mayor o igual a 18?”
Analogía
Imagina que estás decidiendo si salir de casa. La decisión depende de varios factores:
- ¿Tienes paraguas?
- ¿Está lloviendo?

Tu decisión final combina estas condiciones, igual que los operadores lógicos.
⚡ Operadores lógicos básicos
Los principales operadores lógicos en JavaScript son:
&&
(AND): Ambas condiciones deben cumplirse||
(OR): Basta con que una condición se cumpla!
(NOT): Invierte el resultado de una condición
✅ AND (&&): Todas las condiciones
El operador &&
da true
como resultado solo si todas las condiciones son verdaderas.
condición 1 | condición 2 | Resultado (&& ) |
---|---|---|
true | true | ✅ true |
true | false | ❌ false |
false | true | ❌ false |
false | false | ❌ false |
La palabra and significa y, como en: ¿condición 1
y condición 2
se
cumplen?
Analogía
Para que puedas ver una película en el cine, necesitas dos cosas:
- Tener dinero para la entrada.
- Que haya funciones disponibles.

let tieneDinero = true;let hayFunciones = false;
let puedoIrAlCine = tieneDinero && hayFunciones;console.log("¿Puedo ir al cine?", puedoIrAlCine);
¿Puedo ir al cine? false
🔀 OR (||): Al menos una condición
El operador ||
devuelve true
si al menos una de las condiciones es verdadera.
condición 1 | condición 2 | Resultado (|| ) |
---|---|---|
true | true | ✅ true |
true | false | ✅ true |
false | true | ✅ true |
false | false | ❌ false |
La palabra or significa o, como en: ¿condición 1
o condición 2
se cumple?
Analogía
Para pedir comida a domicilio prefieres que suceda al menos una de dos cosas:
- 🍽️ Tener hambre.
- 🍕 Que haya una promoción irresistible.
Si cualquiera de las dos condiciones se cumple, pedirás comida.
let tieneHambre = false;let hayPromocion = true;
let vaPedirComida = tieneHambre || hayPromocion;console.log("¿Voy a pedir comida?", vaPedirComida);
¿Voy a pedir comida? true
❗ NOT (!): Invertir una condición
El operador !
invierte el valor de una condición:
- Si algo es
true
, lo convierte enfalse
- Si algo es
false
, lo convierte entrue
La palabra not significa no, como en: ¿no se cumple la condición
?
Analogía
Piensa en un interruptor de luz:
- Si la luz está encendida (
true
), al negarlo (!
), estará apagada (false
) - Si la luz está apagada (
false
), al negarlo (!
), estará encendida (true
)
let luzEncendida = true;console.log("¿Está la luz encendida?", luzEncendida);console.log("¿Está la luz apagada?", !luzEncendida);
📝 Resumen
Operador | Símbolo | Descripción | Ejemplo | Resultado |
---|---|---|---|---|
AND | && | Devuelve true solo si ambas condiciones son true . | true && true | true |
OR | || | Devuelve true si al menos una condición es true . | true || false | true |
NOT | ! | Invierte el valor de la condición (true → false , false → true ). | !true | false |
☝️🤓
🏋️♂️ Ejercicio
Un videojuego solo permite jugar en modo multijugador si se cumplen estas dos condiciones:
- El jugador tiene una suscripción activa (
tieneSuscripcion === true
) - La conexión a internet es estable (
conexionEstable === true
)
Usa &&
para verificar si puede jugar en multijugador.
let tieneSuscripcion = true;let conexionEstable = false;
let puedeJugarMultijugador = ____; // Completa usando &&console.log("¿Puede jugar en multijugador?", puedeJugarMultijugador);
🏋️♂️ Ejercicio
Una aplicación de delivery te notifica si ocurre al menos una de estas situaciones:
- Tu pedido está listo (
pedidoListo === true
) - El repartidor está cerca (
distanciaRepartidor < 1
)
Usa ||
para determinar si debes recibir una notificación.
let pedidoListo = false;let distanciaRepartidor = 0.5; // kilómetros
let mostrarNotificacion = ____; // Completa usando ||console.log("¿Mostrar notificación?", mostrarNotificacion);
🏋️♂️ Ejercicio
Un juego de cartas necesita verificar si una carta no es un comodín (esComodin === false
).
Usa !
para determinar si la carta no es un comodín.
let esComodin = true;
let cartaNormal = ____; // Completa usando !console.log("¿Es una carta normal?", cartaNormal);
🚀 Extra
Investiga y responde:
- ¿Cómo se comportan los operadores lógicos con valores que no son booleanos?
- ¿Qué es la evaluación de cortocircuito (short-circuit evaluation)?