试一试
let a = 5; // 00000000000000000000000000000101
a >>>= 2; // 00000000000000000000000000000001
console.log(a);
// Expected output: 1
let b = -5; // -00000000000000000000000000000101
b >>>= 2; // 00111111111111111111111111111110
console.log(b);
// Expected output: 1073741822
语法
js
x >>>= y
描述
x >>>= y 等价于 x = x >>> y,不同之处在于表达式 x 只会被评估一次。
示例
使用无符号右移赋值
js
let a = 5; // (00000000000000000000000000000101)
a >>>= 2; // 1 (00000000000000000000000000000001)
let b = -5; // (-00000000000000000000000000000101)
b >>>= 2; // 1073741822 (00111111111111111111111111111110)
let c = 5n;
c >>>= 2n; // 1n
规范
| 规范 |
|---|
| ECMAScript® 2026 语言规范 # sec-assignment-operators |
浏览器兼容性
加载中…