Los operadores lógicos en JavaScript (y en muchos otros lenguajes de programación) se utilizan para evaluar expresiones lógicas.
En JavaScript, hay tres operadores lógicos: AND (&&), OR (||) y NOT (!).
&&El operador lógico AND se indica con &&. Devuelve true cuando ambos valores que conecta son true.
true && true // → true
true && false // → false
false && false // → false
NotaUn ejemplo en la vida real sería preguntar. ¿Están todas las luces encendidas? Se comprueba cada luz y si todas están encendidas (
true), entonces la respuesta estrue. Si alguna luz está apagada (false), entonces la respuesta esfalse.
||El operador lógico OR se indica con || y devuelve true cuando cualquiera de los valores que conecta es true.
true || true // → true
true || false // → true
false || false // → false
NotaUn ejemplo en la vida real sería preguntar. ¿Hay alguna luz encendida? Se comprueba cada luz y si alguna está encendida (
true), entonces la respuesta estrue. Sólo si todas las luces están apagadas (false), entonces la respuesta esfalse.
!El operador lógico NOT se indica con ! e invierte el valor de un valor booleano. Se pone delante del valor que queremos invertir.
!true // → false
!false // → true
NotaUn ejemplo en la vida real sería pulsar el interruptor de la luz. Si la luz está encendida (
true), entonces pulsando el interruptor la apagamos (false). Si la luz está apagada (false), entonces pulsando el interruptor la encendemos (true).
Los operadores lógicos y los operadores de comparación se pueden combinar para crear expresiones más complejas. Por ejemplo, podemos preguntar si un número está entre dos valores.
2 < 3 && 3 < 4 // → true
NotaEn este caso, la expresión se evalúa como
trueporque2 < 3estruey3 < 4estrue. Si cualquiera de las dos expresiones fuerafalse, entonces la expresión seríafalse.
También puedes usar paréntesis para agrupar operaciones y usar operadores lógicos y aritméticos.
2 + 2 < 3 && 10 < 8 * 2 // → false
Igualmente, es importante que sepas que las operaciones aritméticas tienen precedencia sobre las operaciones de comparación.
2 + 2 < 3 && 10 < 8 * 2
// Primero se hacen las operaciones aritméticas:
// → 4 < 3 && 10 < 16
// Ahora las comparaciones:
// → false && true
// Finalmente:
// → false
Aunque todos los ejemplos que has visto hasta ahora usan dos operandos, los operadores lógicos también pueden usarse con más de dos operandos.
true && true && true // → true
También puedes mezclar operadores lógicos:
true && true || false // → true
!true && !true // → false
false && true || !true // → false
NotaEn JavaScript el punto y coma al final de cada línea es opcional. En este curso no lo usamos. Si lo pones, el ejercicio también vale.
Ahora te puede costar un poco entender qué está pasando, pero con la práctica te irá resultando más fácil. Prueba a hacer los ejercicios y a jugar con los operadores lógicos para que te vayan quedando más claros.
Inicia sesión
Para guardar tu progreso y desbloquear logros