Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【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 ^ 000 ^ 111 ^ 011 ^ 10 となります。

JavaScriptでは、数値は通常64ビット浮動小数点数として扱われますが、ビットごとの演算を行う際には、内部的に32ビットの符号付き整数に変換されて処理されます。この特性により、^= 演算子も32ビット整数に対してビットごとのXORと代入を行います。

この演算子は、特定のビットを反転させたい場合や、一時変数を使わずに2つの変数の値を入れ替える(スワップ)場合、あるいは簡易的な暗号化処理などで利用されることがあります。主に低レベルなデータ操作や、特定のアルゴリズムの実装時にその力を発揮し、初心者のシステムエンジニアを目指す方にとっては、ビット単位でのデータの操作を理解する上で重要な演算子の一つです。

公式リファレンス: Bitwise XOR assignment (^=)

構文(syntax)

1let x = 5;
2let y = 3;
3x ^= y;

引数(parameters)

leftOperand, rightOperand

  • leftOperand: ビットごとのXOR演算の左辺となるオペランド
  • rightOperand: ビットごとのXOR演算の右辺となるオペランド

戻り値(return)

Number

Bitwise XOR assignment (^=) 演算子は、左辺のオペランドのビット単位のXOR演算結果を、左辺のオペランドに代入し、その結果の数値を返します。

関連コンテンツ

関連プログラミング言語