なぜ論理XORがないのでしょうか? 質問する

なぜ論理XORがないのでしょうか? 質問する

XORJavaScript に論理がないのはなぜですか?

ベストアンサー1

JavaScript の起源は C に遡りますが、C には論理 XOR 演算子がありません。主な理由は、それが役に立たないからです。ビット単位の XOR は非常に便利ですが、私が長年プログラミングをしてきた中で、論理 XOR が必要になったことはありません。

2 つのブール変数がある場合は、次のようにして XOR を模倣できます。

if (a != b)

任意の変数を 2 つ使用して、!それらをブール値に強制変換し、同じトリックを使用できます。

if (!a != !b)

しかし、これはかなりわかりにくいので、コメントする価値があるでしょう。実際、この時点でビット単位の XOR 演算子を使用することもできますが、これは私の好みにはあまりにも巧妙すぎるでしょう。

if (!a ^ !b)

おすすめ記事