试一试
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
语法
js
x >>= y
描述
x >>= y 等价于 x = 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® 2026 语言规范 # sec-assignment-operators |
浏览器兼容性
加载中…