【JavaScript ECMAScript】Bitwise AND assignment (&=)演算子の使い方
Bitwise AND assignment (&=)演算子の使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
Bitwise AND assignment (&=)演算子は、JavaScriptにおけるビットごとのAND演算と代入を組み合わせた複合代入演算子を実行する演算子です。この演算子は、左オペランドに指定された変数の現在の値と、右オペランドに指定された値との間で、ビットごとのAND演算を実行し、その結果を左オペランドの変数に再代入します。
具体的には、両オペランドの値は内部的に32ビットの符号付き整数に変換されます。その後、各ビット位置において、両方のビットが1である場合にのみ結果のビットが1となり、それ以外の場合は0となります。例えば、x &= yという記述は、x = x & yと全く同じ意味を持ちます。この複合代入演算子を使用することで、コードをより簡潔に記述できるだけでなく、多くの場合、内部的な処理が最適化され、実行効率が向上することが期待されます。
この演算子は、特にフラグ管理やパーミッション設定など、個々のビットを使って状態を表現する場面で非常に有用です。特定のビットが立っているかどうかを確認したり、特定のビットだけをオフに保ちながら他のビットを維持したりする場合に活用されます。負の数に対して使用した場合も、32ビットの二進補数表現に基づいてビットごとのAND演算が実行されるため、その挙動を理解しておくことが重要です。
公式リファレンス: Bitwise AND assignment (&=)
構文(syntax)
1let a = 5; // バイナリで 0101 2let b = 3; // バイナリで 0011 3a &= b; // a は a と b のビットごとのAND演算の結果で更新される (5 & 3 => 1)
引数(parameters)
引数なし
引数はありません
戻り値(return)
数値
Bitwise AND assignment (&=) 演算子は、左辺のオペランドのビット単位AND演算結果を左辺のオペランドに代入し、その代入された値を返します。