Condicionales que usan operadores lógicos
Operadores lógicos y Evaluaciones de Cortocircuito
En Javascript, hay tres operadores lógicos, &&
||
!
…
&&
: AND lógico (devuelve expr1
si se puede convertir a false
. Si no, devuelve expr2
.)
||
: OR lógico (devuelve expr1
si se puede convertir a true
. Si no, devuelveexpr2
.)
!
: no lógico (devuelve false
si su operando único se puede convertir a true
. Si no, devuelve true
.)
x=10 and y=4 Example && x < 20 && y > 1 is true
Example || x == 3 || y== 3 is false
Example ! !(x == y) is true
En los ejemplos anteriores, los operadores lógicos se utilizan junto con operadores de comparación < > = == === >= <= != !==
que devuelven valores booleanos: true
y false
.
En Example &&
, la expresión de la izquierda (x<20
)se evalúa primero, lo que devuelve true
. Como &&
esto no devolvió false
, se pasa a evaluar la expresión a la derecha (y>1
). Esta expresión también se evalúa como true
, por lo que se devuelve la expresión de la izquierda, que es true
. Por lo tanto, cuando &&
se usa con valores booleanos, &&
devuelve true
cuando ambos operandos son veraces y devuelve false
no lo son.
En Example ||
, la expresión de la izquierda (x==3
) se evalúa primero, lo que devuelve false
. Como este valor no es verdadero, devuelve inmediatamente la expresión de la derecha (y==3
), que es false
. Por lo tanto, cuando ||
se usa con valores booleanos, ||
devuelve true
cuando cualquiera de los operando es verdadero.
En Example !
, la expresión x==y
es false
. A continuación, !
convierte la expresión de false
a NO false
; en otras palabras, true
.