Uso de operadores lógicos en Javascript
En Javascript, como en cualquier lenguaje de programación, existe un tipo de datos lógicos o booleanos que engloba a solo dos valores: true (verdadero) y false (falso), que se transforman en 1 y 0 si deben convertirse en tipos numéricos.
Pues los operadores lógicos son los operadores usados por Javascript para trabajar con los datos booleanos o lógicos. Vas a encontrar tres clases de operadores
- NOT
- AND
- OR
Este tipo de datos son el tipo de resultado al aplicar operadores relacionales, los usados para realizar comparaciones entre valores y/o expresiones.
Las operaciones realizadas con lo operadores lógicos son análogas a las operaciones a nivel de bit, pero en este caso solo trabajan con valores booleanos, no con las representaciones binarias de datos numéricos.
La siguiente lista detalla todos los operadores lógicos que puedes usar en Javascript, junto con un pequeño ejemplo de uso
- Negación: !
- Es el operador mas simple de todos, se usa para invertir un valor de true a false o viceversa. Se usa con valores o con expresiones lógicas, invirtiendo su resultado. Es un operador con la mínima precedencia, por eso siempre es conveniente poner paréntesis a las expresiones que queramos negar con este operador. También se pude usar junto a los operadores de igualdad (==) e identidad (===) para invertirlos.
var cierto = true;
var falso = !cierto;
console.log ( 5 >4); //true
console.log (! (5>4)); //false
- AND lógico &&
- Este operador es similar al AND a nivel de bit pero opera con valores booleanos. Se utiliza para concatenar comparaciones, es decir, para comprobar varias condiciones . El resultado sólo será true si todas las comparaciones o los perandos lo son. Es omo un producto si uno solo de los factores es 0 (false) el resultado es 0 (false)
var op1 = 2, op2 = 50, op3 = 25;
var comp;
comp = (op1 > op2) && (op1 < op3); //false
comp = (op1 < op2) && (op1 < op3); //true
- OR lógico ||
- Como el anterior, sirve para realizar comparaciones compuestas y solo devolverá false cuando todas las comparaciones los sean. Es decir basta que una comparación sea true para que devuelva el valor false. Es como una suma de ceros y unos, si uno solo de los sumandos es 1 (true) el resultado es 1(true)
var op1 = 2, op2 = 50, op3 = 25;
var comp;
comp = (op1 > op2) && (op1 < op3); /*comp toma el valor true */
Resumen
Los operadores lógicos realizan operaciones con valores booleanos o lógicos (true, false)
Los valores lógicos (true, false) se pueden invertir (negar) con el operador ! (signo de exclamación cerrada).
De la misma manera se pueden invertir los resultados de las comparaciones, pues son valores lógicos o booleanos.