Right shift assignment (>>=) - JavaScript | MDN

Try it

let a = 5; //  00000000000000000000000000000101

a >>= 2; //  00000000000000000000000000000001
console.log(a);
// Expected output: 1

let b = -5; //  11111111111111111111111111111011

b >>= 2; //  11111111111111111111111111111110
console.log(b);
// Expected output: -2

Syntax

Description

x >>= y is equivalent to x = x >> y, except that the expression x is only evaluated once.

Examples

Using right shift assignment

js

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

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

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

Specifications

Specification
ECMAScript® 2026 Language Specification
# sec-assignment-operators

Browser compatibility

See also

Help improve MDN

Learn how to contribute

This page was last modified on by MDN contributors.