Bedingungen mit logischen Operatoren
Logische Operatoren und Kurzschlussauswertungen
In Javascript gibt es drei logische Operatoren, &&
||
!
…
&&
: logical AND (gibt expr1
zurück, wenn es in false
konvertiert werden kann. Wenn nicht, wird expr2
zurückgegeben.)
||
: logical OR (gibt expr1
zurück, wenn es in true
konvertiert werden kann. Wenn nicht, wird expr2
zurückgegeben.)
!
: logical NOT (gibt false
zurück, wenn sein einzelner Operand in true
konvertiert werden kann. Wenn nicht, wird true
zurückgegeben.)
x=10 and y=4 Example && x < 20 && y > 1 is true
Example || x == 3 || y== 3 is false
Example ! !(x == y) is true
In den obigen Beispielen werden die logischen Operatoren in Verbindung mit den Vergleichsoperatoren < > = == === >= <= != !==
verwendet, die alle boolesche Werte zurückgeben: true
und false
.
In Example &&
wird zuerst der linke Ausdruck (x<20
) ausgewertet, der true
zurückgibt. Da &&
dies nicht false
, wird die Expession rechts ausgewertet (y>1
). Dieser Ausdruck ergibt auch true
, daher wird der Ausdruck links zurückgegeben, der true
ist. Wenn also &&
mit booleschen Werten verwendet wird, gibt &&
true
zurück, wenn beide Operanden wahr sind, und gibt false
zurück.
In Example ||
wird zuerst der linke Ausdruck (x==3
) ausgewertet, der false
zurückgibt. Da dieser Wert nicht wahrheitsgemäß ist, wird sofort der Ausdruck rechts (y==3
) zurückgegeben, der false
ist. Wenn also ||
mit booleschen Werten verwendet wird, gibt ||
true
zurück, wenn einer der Operanden truthy ist.
In Example !
ist der Ausdruck x==y
false
. Als nächstes konvertiert !
den Ausdruck von false
in NOT false
; mit anderen Worten, true
.