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 logischorwird der erste Operand zurückgegebenIm Falle von logischandwird der zweite Operand zurückgegeben

Ist 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?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage