左移赋值 (<<=)

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

左移赋值(<<=运算符对两个操作数执行左移操作,并将结果赋给左操作数。

试一试

let a = 5; // 00000000000000000000000000000101

a <<= 2; // 00000000000000000000000000010100

console.log(a);
// Expected output: 20

语法

js
x <<= y

描述

x <<= y 等同于 x = x << y,不同之处在于表达式 x 只会被评估一次。

示例

使用左移赋值

js
let a = 5;
// 00000000000000000000000000000101

a <<= 2; // 20
// 00000000000000000000000000010100

let b = 5n;
b <<= 2n; // 20n

规范

规范
ECMAScript® 2026 语言规范
# sec-assignment-operators

浏览器兼容性

另见