Novedades ES6

Operadores lógicos && (y) en las estructuras condicionales en javascript;

Cuando vinculamos dos condiciones con el operador “&&”, las dos condiciones deben ser verdaderas para que el resultado de la condición compuesta de Verdadero y continúe por la rama del verdadero de la estructura condicional,  esto es traducido  como “Y”. Si la Condición 1 es verdadera Y la condición 2 es verdadera luego ejecutar la rama del verdadero.

Los operadores lógicos se usan típicamente con valores Boolean y en tal caso, regresan un valor Booleano Sin embargo, los operadores && (AND) y || (OR) regresan en realidad el valor de uno de los operandos especificados, por lo que si estos operadores se usan con valores no Boolean, posiblemente regresen un valor no Boolean.

Operador UsoDescripción
AND (&&) lógico expr1 && expr2El operador && regresa true si ambos operandos son verdaderos; de lo contrario regresa false.

Recordemos que la condición debe ir entre paréntesis en forma obligatoria.
La utilización de operadores lógicos permiten en muchos casos, plantear algoritmos más cortos y comprensibles.
Veamos un ejemplo: Confeccionar un programa que lea por teclado tres números distintos y nos muestre el mayor de ellos.

<html>
<head>
</head>
<body>
<script language="javascript">
var num1,num2,num3;
num1=prompt('Ingrese primer número:','');
num2=prompt('Ingrese segundo número:','');
num3=prompt('Ingrese tercer número:','');
num1=parseInt(num1);
num2=parseInt(num2);
num3=parseInt(num3);
if (num1>num2 && num1>num3)
{
document.write('el mayor es el '+num1);
}
else
{
if (num2>num3)
{
document.write('el mayor es el '+num2);
}
else
{
document.write('el mayor es el '+num3);
}
}
</script>
</body>
</html>

Podemos leerla de la siguiente forma:

  • Si el contenido de la variable num1 es mayor al contenido de la variable num2 Y si el contenido de la variable num1 es mayor al contenido de la variable num3 entonces la CONDICION COMPUESTA resulta Verdadera.
  • Si una de las condiciones simples da falso, la CONDICION COMPUESTA da Falso y continua por la rama del falso.

Es decir que se mostrará el contenido de num1 si y solo si num1>num2 y num1>num3.
En caso de ser Falsa la condición de la rama del falso, analizamos el contenido de num2 y num3 para ver cual tiene un valor mayor.

En esta segunda estructura condicional, al haber una condición simple, no se requieren operadores lógicos.