docs.rodeo

MDN Web Docs mirror

Right shift assignment (>>=)

{{jsSidebar("Operators")}} 

The right shift assignment (>>=) operator performs right shift on the two operands and assigns the result to the left operand.

{{InteractiveExample("JavaScript Demo: Expressions - Right shift assignment operator")}} 

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

x >>= y

Description

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

Examples

Using right shift assignment

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

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

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

Specifications

{{Specifications}} 

Browser compatibility

{{Compat}} 

See also

In this article

View on MDN