Bitwise XOR assignment (^=)

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨July 2015⁩.

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

Try it

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

console.log(a); / 00000000000000000000000000000110
/ Expected output: 6

Syntax

js
x ^= y

Description

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

Specifications

Specification
ECMAScript® 2026 Language Specification
# sec-assignment-operators

Browser compatibility

See also

Follow Lee on X/Twitter - Father, Husband, Serial builder creating AI, crypto, games & web tools. We are friends :) AI Will Come To Life!

Check out: eBank.nz (Art Generator) | Netwrck.com (AI Tools) | Text-Generator.io (AI API) | BitBank.nz (Crypto AI) | ReadingTime (Kids Reading) | RewordGame | BigMultiplayerChess | WebFiddle | How.nz | Helix AI Assistant