XOR
JavaScript に論理がないのはなぜですか?
ベストアンサー1
JavaScript の起源は C に遡りますが、C には論理 XOR 演算子がありません。主な理由は、それが役に立たないからです。ビット単位の XOR は非常に便利ですが、私が長年プログラミングをしてきた中で、論理 XOR が必要になったことはありません。
2 つのブール変数がある場合は、次のようにして XOR を模倣できます。
if (a != b)
任意の変数を 2 つ使用して、!
それらをブール値に強制変換し、同じトリックを使用できます。
if (!a != !b)
しかし、これはかなりわかりにくいので、コメントする価値があるでしょう。実際、この時点でビット単位の XOR 演算子を使用することもできますが、これは私の好みにはあまりにも巧妙すぎるでしょう。
if (!a ^ !b)