Javascript
JS Operators
Javascript Assignment Operators

JavaScript Assignment Operators

Assignment operators are used to assign values to variables in JavaScript.

// Let's take some variables
x = 10;
y = 20;
 
x = y; // Here, x is equal to 20
 
console.log(x);
console.log(y);

Output:

20
20

More Assignment Operators

There are many assignment operators, as shown in the table below:

Operator NameShorthand OperatorMeaning
Addition Assignmenta += ba = a + b
Subtraction Assignmenta -= ba = a - b
Multiplication Assignmenta *= ba = a * b
Division Assignmenta /= ba = a / b
Remainder Assignmenta %= ba = a % b
Exponentiation Assignmenta **= ba = a ** b
Left Shift Assignmenta <<= ba = a << b
Right Shift Assignmenta >>= ba = a >> b
Bitwise AND Assignmenta &= ba = a & b
Bitwise OR Assignment`a= b`
Bitwise XOR Assignmenta ^= ba = a ^ b
Logical AND Assignmenta &&= bx && (x = y)
Logical OR Assignment`a
Nullish Coalescing Assignmenta ??= bx ?? (x = y)

Addition Assignment Operator (+=)

let a = 2;
const b = 3;
 
console.log(a); // Expected output: 2
console.log(a = b + 1); // Expected output: 4

Output:

2
4

Subtraction Assignment Operator (-=)

let foo = 4;
console.log(foo -= 1); // Expected output: 3

Output:

3

Multiplication Assignment Operator (*=)

let foo = 4;
console.log(foo *= 2); // Expected output: 8

Output:

8

Division Assignment Operator (/=)

let yoo = 10;
const moo = 2;
 
console.log(yoo /= moo); // Expected output: 5
console.log(yoo /= 0); // Expected output: Infinity

Output:

5
Infinity

Remainder Assignment Operator (%=)

let yoo = 50;
console.log(yoo %= 10); // Expected output: 0

Output:

0

Exponentiation Assignment Operator (**=)

let num = 5;
console.log(num **= 3); // Expected output: 125

Output:

125

Left Shift Assignment Operator (<<=)

let yoo = 5;
console.log(yoo <<= 2); // Expected output: 20 (Binary: 10100)

Output:

20

Right Shift Assignment Operator (>>=)

let yoo = 5;
console.log(yoo >>= 2); // Expected output: 1 (Binary: 001)

Output:

1

Bitwise AND Assignment Operator (&=)

let yoo = 5;
console.log(yoo &= 2); // Expected output: 0 (Binary: 000)

Output:

0

Bitwise OR Assignment Operator (|=)

let yoo = 5;
console.log(yoo |= 2); // Expected output: 7 (Binary: 111)

Output:

7

Bitwise XOR Assignment Operator (^=)

let yoo = 5;
console.log(yoo ^= 2); // Expected output: 7 (Binary: 111)

Output:

7

Logical AND Assignment Operator (&&=)

let name = { firstName: "Ram", lastName: "" };
 
console.log(name.firstName);
name.firstName &&= "Shyam";
console.log(name.firstName);
 
console.log(name.lastName);
name.lastName &&= "Kumar";
console.log(name.lastName);

Output:

Ram
Shyam

Kumar

Logical OR Assignment Operator (||=)

let name = { firstName: "Ram", lastName: "" };
 
console.log(name.firstName);
name.firstName ||= "Shyam";
console.log(name.firstName);
 
console.log(name.lastName);
name.lastName ||= "Kumar";
console.log(name.lastName);

Output:

Ram
Ram

Kumar

Nullish Coalescing Assignment Operator (??=)

let x = 12;
let y = null;
let z = 13;
 
x ??= z;
y ??= z;
 
console.log(x); // Expected output: 12
console.log(y); // Expected output: 13

Output:

12
13