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