按位异或赋值 (^=)

按位异或赋值 (^=) 运算符对两个操作数执行 按位异或 并将结果赋给左侧操作数。

¥The bitwise XOR assignment (^=) operator performs bitwise XOR on the two operands and assigns the result to the left operand.

Try it

语法

¥Syntax

js
x ^= y

描述

¥Description

x ^= yx = x ^ y 等效,只是表达式 x 仅计算一次。

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

示例

¥Examples

使用按位异或赋值

¥Using bitwise XOR assignment

js
let a = 5; // (00000000000000000000000000000101)
a ^= 3; // (00000000000000000000000000000011)

console.log(a); // 6 (00000000000000000000000000000110)

let b = 5; // (00000000000000000000000000000101)
b ^= 0; // (00000000000000000000000000000000)

console.log(b); // 5 (00000000000000000000000000000101)

let c = 5n;
c ^= 3n;
console.log(c); // 6n

规范

Specification
ECMAScript Language Specification
# sec-assignment-operators

¥Specifications

浏览器兼容性

BCD tables only load in the browser

¥Browser compatibility

也可以看看