Condicionais usando operadores lógicos
Operadores Lógicos e de Curto-Circuito Avaliações
Em Javascript, existem três operadores lógicos, &&
||
!
…
&&
: E lógico (retorna expr1
se ele pode ser convertido para false
. Caso contrário, retorna expr2
.)
||
: logical OR (retorna expr1
se puder ser convertido para true
. Caso contrário, retorna expr2
.)
!
: logical NOT (retorna false
se seu único operando puder ser convertido em true
. Caso contrário, retorna 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
nos exemplos acima, os operadores lógicos estão sendo usados em conjunto com operadores de comparação < > = == === >= <= != !==
que todos retornam valores booleanos: true
e false
.
Em Example &&
, a expressão à esquerda (x<20
)é avaliada primeiro, que retorna true
. Como &&
isso não retornou false
, ele passa a avaliar a expessão à direita (y>1
). Essa expressão também é avaliada como true
, portanto, a expressão à esquerda é retornada, que é true
. Assim, quando &&
é usado com valores booleanos, &&
retorna true
quando ambos os operandos são truthy e retorna false
eles não são.
Em Example ||
, a expressão à esquerda (x==3
) é avaliada primeiro, que retorna false
. Como esse valor não é verdadeiro, ele retorna imediatamente a expressão à direita (y==3
), que é false
. Portanto, quando ||
é usado com valores booleanos, ||
retorna true
quando qualquer operando é verdadeiro.
em Example !
, a expressão x==y
é false
. Em seguida, o !
converte a expressão de false
para não false
; em outras palavras, true
.