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

【JavaScript ECMAScript】Right shift assignment (>>=)演算子の使い方

Right shift assignment (>>=)演算子の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

Right shift assignment (>>=)関数は、左オペランドの値を指定されたビット数だけ右にシフトし、その結果を左オペランドに再代入する処理を実行する関数です。この演算子は、ビット単位の右シフト演算子 (>>) と代入演算子 (=) を組み合わせたものであり、x >>= y という式は x = x >> y と同義になります。

この演算子を使用すると、まず左オペランドの数値は内部的に32ビット符号付き整数として扱われます。次に、右オペランドで指定されたビット数だけ、左オペランドのすべてのビットが右方向に移動します。この際、数値の符号を維持するために、最上位ビット(符号ビット)は元の値を保持するようにコピーされ、シフトによって空いた左側のビット位置にはこの符号ビットと同じ値が埋められます。これにより、正の数も負の数も、その符号を保ったままビットが右シフトされます。

>>= 演算子は、数値を効率的に2のべき乗で割るのと似た効果を持ちますが、主にビット単位での厳密な操作が必要な場面や、特定のアルゴリズムにおいてパフォーマンスを向上させる目的で利用されます。例えば、データのエンコードやデコード、あるいは特定のビットフラグの操作などで活用されることがあります。システムエンジニアを目指す初心者の方は、数値がコンピュータ内部でどのようにバイナリ形式で表現され、ビットが操作されるかを理解すると、この演算子の機能をより深く把握できます。

公式リファレンス: Right shift assignment (>>=)

構文(syntax)

1let variable = 10;
2variable >>= 2;

引数(parameters)

引数なし

引数はありません

戻り値(return)

Number

この演算子は、左辺の数値(オペランド)を右辺の数値で指定されたビット数だけ右にシフトし、その結果を左辺に代入します。戻り値は、代入後の左辺の数値となります。

関連コンテンツ

関連プログラミング言語