Javascript logische Operatoren und Ergebnisse
Ich weiß, dass das Ergebnis von logischen Operationen in den meisten Sprachen entweder wahr, falsch oder 1,0 ist. In Javascript habe ich folgendes versucht:
alert(6||5) // => returns 6
alert(5||6) // => returns 5
alert(0||5) // => returns 5
alert(5||0) // => returns 5
alert(5||1) // => returns 5
alert(1||5) // => returns 1
alert(5&&6) // => returns 6
alert(6&&5) // => returns 5
alert(0&&5) // => returns 0
alert(5&&0) // => returns 0
alert(-1&&5) // => returns 5
alert(5&&-1) // => returns -1
Was ist das Ergebnis von logischen Operatoren? Wenn ein Operand 0 oder 1 ist, funktioniert er wie erwartet. Wenn beide ungleich Null sind und nicht 1, dann
Im Falle von logischor
wird der erste Operand zurückgegebenIm Falle von logischand
wird der zweite Operand zurückgegebenIst das die allgemeine Regel?
Eine andere Sache, die ich nicht weiß, ist der Bediener|
.
Ich habe den Operator ausprobiert|
und bekam unterschiedliche Ergebnisse:
alert(5|8) // => returns 13
alert(8|5) // => returns 13
alert(-5|8) // => returs -5
alert(8|-5) // => returns -5
alert(0|1) // => returns 1
alert(1|0) // => returns 1
alert(1|1) // => returns 1
Was macht dieser Operator eigentlich?