按位与赋值 (&=)

Baseline 已广泛支持

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

按位 AND 赋值 (&=) 运算符对两个操作数执行按位 AND 操作,并将结果赋给左操作数。

试一试

let a = 5; // 00000000000000000000000000000101
a &= 3; // 00000000000000000000000000000011

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

语法

js
x &= y

描述

x &= y 等同于 x = x & y,不同之处在于表达式 x 只会被求值一次。

示例

使用按位 AND 赋值

js
let a = 5;
// 5:     00000000000000000000000000000101
// 2:     00000000000000000000000000000010
a &= 2; // 0

let b = 5n;
b &= 2n; // 0n

规范

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

浏览器兼容性

另见