5. Condicionales

5.4. Operadores lógicos

Dentro de una misma condición nos puede resultar también de utilidad poder realizar varios test. Para ello, podemos hacer uso de los operadores lógicos binarios, que nos permiten combinar varias condiciones para obtener finalmente un valor binario true o false.

Tabla 2. Operadores lógicos

Operador Descripción Ejemplo
&& And (5 > 2) && (10 > 2) true

(5 > 2) && (10 < 2) false

|| Or (5 > 2) || (10 > 2) true

(5 > 2) || (10 < 2) true

Fuente: elaboración propia.

El operador && (AND lógico) nos devolverá true únicamente cuando las condiciones que enlace sean ambas verdaderas. Si cualquiera de estas no se cumple, devolverá false.

let value1 = 10;
let value2 = 5;
if (value1 > value2 && value1 >= 8) {
    // Entramos aquí si se cumplen las dos condiciones
    fill(255, 0, 0); // Relleno rojo
} else {
    // Si no se cumplen las dos entramos aquí
    fill(0, 0, 255); // Relleno azul
}
circle(100, 100, 50);

En el ejemplo anterior, tanto value1 > value2 como value1 >= 8 son true, por lo que el círculo que pintamos estará relleno de color rojo.

El operador || (OR lógico) nos devolverá true cuando al menos una de las condiciones que enlaza sea verdadera. Solo devolverá false en el caso de que ambas condiciones fuesen falsas.

let value1 = 10;
let value2 = 29;
if (value1 > value2 || value1 >= 8) {
    // Entramos aquí si al menos una se cumple
    fill(0, 255, 0); // Relleno verde
} else {
    // Si no se cumple ninguna
    fill(255, 0, 255); // Relleno magenta
}
circle(100, 100, 50);

Ahora value1 > value2 es false, pero como value1 >= 8 es true, entramos en el if y el relleno del círculo será verde.