このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

右シフト代入演算子 (>>=)

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。

右シフト代入演算子 (>>=) は、 2 つのオペランドで右シフトを実行し、その結果を左オペランドに代入します。

試してみましょう

let a = 5; //  00000000000000000000000000000101

a >>= 2; //  00000000000000000000000000000001
console.log(a);
// 予想される結果: 1

let b = -5; //  11111111111111111111111111111011

b >>= 2; //  11111111111111111111111111111110
console.log(b);
// 予想される結果: -2

構文

js
x >>= y

解説

x >>= yx = x >> y と同等ですが、式 x が一度だけ評価される点が異なります。

右シフト代入の使用

js
let a = 5; //   (00000000000000000000000000000101)
a >>= 2; //   1 (00000000000000000000000000000001)

let b = -5; //  (-00000000000000000000000000000101)
b >>= 2; //  -2 (-00000000000000000000000000000010)

let c = 5n;
c >>= 2n; // 1n

仕様書

仕様書
ECMAScript® 2027 Language Specification
# sec-assignment-operators

ブラウザーの互換性

関連情報