El lógico && y || operadores en JavaScript
Quería más aclaraciones sobre algo.
Considera esto:
var a = 42;
var b = "abc";
var c = null;
a || b; // 42
a && b; // "abc"
c || b; // "abc"
c && b; // null
Sé que para el||
operador, si la prueba en el primer operando es verdadera, el||
La expresión da como resultado el valor del primer operando (a o c). Si la prueba es falsa, el||
La expresión da como resultado el valor del segundo operando (b).
Inversamente, para el&&
operador, si la prueba es verdadera, el&&
La expresión da como resultado el valor del segundo operando (b). Si la prueba es falsa, el&&
la expresión da como resultado el valor del primer operando (a o c)
Entonces, ¿qué está sucediendo exactamente cuando usa el&&
y||
operadores con valores de encadenamiento como:
if(a && b && c && d && e){
//do something;
}
if(a || b || c || d || e){
//do something
}
¿Qué está sucediendo exactamente cuando encadena los valores? Porque en el primer ejemplo (que involucra el&&
operador) si a es verdadero, entonces b debería devolverse ¿verdad? entonces, ¿se tienen en cuenta c o d en ese punto?