/ / Bitweiser Zuweisungsoperator für Boolesche Werte anstelle von längeren Ausdrücken (| = Operator) - Javascript, Boolesche Werte, Bitmanipulation

Bitweises Zuweisungsoperator für booleschen statt für längeren Ausdruck (| = operator) - javascript, boolean, bit-manipulation

Frage

Ein Freund von mir fragt, ob er verwenden könnte:

result |= condition

Anstatt von:

result = result || condition

in Javascript für boolesche Operationen.

Mir ist klar, dass einer bitweise und der andere logisch ist. Wie würde sich dies jedoch auf boolesche Variablen auswirken?

Ich bin momentan nicht vor meinem Computer, frage mich aber auch, ob es so etwas wie einen geben könnte ||= Betreiber.

Aktualisieren

Ich habe gerade gemerkt, dass a boolean Wert ist wesentlich a 1 bit value. Bedeutet das, dass für booleans das logical or hat das gleiche wie das bitewise or ?

Damit a|=b wäre gleichbedeutend mit a=a|b ?

Antworten:

1 für die Antwort № 1

Bedeutet dies, dass für Boolesche das Logische oder dasselbe wie das Bitweise hat oder?

In deinem Fall etwas.

Bei der Verwendung logischer Ausdrücke können Operanden entweder wahr oder falsch sein. Ein OR-Ausdruck gibt hier den ersten zurück, der wahr ist (nicht unbedingt den Booleschen Wert) true) oder, falls nicht, der letzte Operand.

result || condition

Kehrt zurück result ob result ist sonst wahr condition

Bei Verwendung bitweiser Ausdrücke sind Operanden32-Bit-Ganzzahlen mit Vorzeichen. Wenn Sie dies auf ein Bit beschränken, ähnelt dies dem Verhalten logischer Ausdrücke: Wenn ein Bit gesetzt ist, gibt ein OR-Ausdruck 1 zurück.

result | condition

Gibt eine vorzeichenbehaftete 32-Bit-Ganzzahl mit dem Wert 0 oder 1 für Operanden zurück, die in eine 32-Bit-Ganzzahl konvertiert werden können, wobei nur das niedrigstwertige Bit verwendet wird.

Wenn Sie jedoch bitweise Ausdrücke verwenden, wird aktiviertOperanden, die keine 32-Bit-Ganzzahlen sind, müssen implizite Konvertierungen in 32-Bit-Ganzzahlen durchgeführt werden, und es können zusätzliche Flankenfälle auftreten. Ich würde nicht empfehlen, bitweise Ausdrücke für logische Operanden zu verwenden.