A continuación se muestra el ejemplo de los operadores de cortocircuito.
- Ejemplo:
<script>
function
gfg() {
// AND short circuit
document.write(
false
&&
true
)
document.write(
"</br>"
);
document.write(
true
&&
true
)
document.write(
"</br>"
);
// OR short circuit
document.write(
true
||
false
)
document.write(
"</br>"
);
document.write(
false
||
true
)
}
gfg();
</script>
- Producción:
false true true true
En el cortocircuito de JavaScript, una expresión se evalúa de izquierda a derecha hasta que se confirma que el resultado de las condiciones restantes no afectará el resultado ya evaluado. Si el resultado es claro incluso antes de la evaluación completa de la expresión, se produce un cortocircuito y se devolverá el resultado. La evaluación de cortocircuitos evita trabajo innecesario y conduce a un procesamiento eficiente.
Cortocircuito AND(&&): En el caso de AND, la expresión se evalúa hasta que obtengamos un resultado falso porque el resultado siempre será falso, independientemente de las condiciones adicionales. Si hay una expresión con &&(AND lógico) y el primer operando en sí es falso, se produce un cortocircuito, la expresión posterior no se evalúa y se devuelve falso.
Ejemplo: Cortocircuito usando el operador AND(&&).
<script> // Since first operand is false and operator // is AND, Evaluation stops and false is // returned. console.log(false && true && true && false) // Whole expression will be evaluated. console.log(true && true && true) </script>
Producción:
false true
Cortocircuito OR(||): En el caso de OR, la expresión se evalúa hasta que obtengamos un resultado verdadero porque el resultado siempre será verdadero, independientemente de las condiciones adicionales. Si hay una expresión con ||(OR lógico) y el primer operando es verdadero, entonces ocurre un cortocircuito, la evaluación se detiene y se devuelve verdadero.
Ejemplo: Cortocircuito usando OR(||).
<script> // First operand is true and operator is ||, // evaluation stops and true is returned. console.log(true || false || false) // Evaluation stops at the second operand(true). console.log(false || true || true || false) </script>
Producción:
true true