【JavaScript ECMAScript】Bitwise XOR assignment (^=)演算子の使い方
Bitwise XOR assignment (^=)演算子の使い方について、初心者にもわかりやすく解説します。
基本的な使い方
Bitwise XOR assignment (^=) 演算子は、JavaScriptにおけるビットごとの排他的論理和(XOR)演算の結果を左辺のオペランドに代入する複合代入演算子です。この演算子は、まず左辺のオペランドと右辺のオペランドに対してビットごとのXOR演算を実行し、その結果を左辺のオペランドに再び割り当てます。
具体的には、a ^= b という式は a = a ^ b と同じ意味を持ちます。ここで、ビットごとのXOR演算子 (^) は、対応するビット同士を比較し、両方のビットが異なる場合にのみ結果のビットを 1 とし、それ以外(両方 0 または両方 1)の場合は 0 とします。例えば、0 ^ 0 は 0、0 ^ 1 は 1、1 ^ 0 は 1、1 ^ 1 は 0 となります。
JavaScriptでは、数値は通常64ビット浮動小数点数として扱われますが、ビットごとの演算を行う際には、内部的に32ビットの符号付き整数に変換されて処理されます。この特性により、^= 演算子も32ビット整数に対してビットごとのXORと代入を行います。
この演算子は、特定のビットを反転させたい場合や、一時変数を使わずに2つの変数の値を入れ替える(スワップ)場合、あるいは簡易的な暗号化処理などで利用されることがあります。主に低レベルなデータ操作や、特定のアルゴリズムの実装時にその力を発揮し、初心者のシステムエンジニアを目指す方にとっては、ビット単位でのデータの操作を理解する上で重要な演算子の一つです。
構文(syntax)
1let x = 5; 2let y = 3; 3x ^= y;
引数(parameters)
leftOperand, rightOperand
- leftOperand: ビットごとのXOR演算の左辺となるオペランド
- rightOperand: ビットごとのXOR演算の右辺となるオペランド
戻り値(return)
Number
Bitwise XOR assignment (^=) 演算子は、左辺のオペランドのビット単位のXOR演算結果を、左辺のオペランドに代入し、その結果の数値を返します。