JavaScript Assignment Operators

The JavaScript assignment operator assigns the value of the operand on the right-side to the  operand on the left-side. The left-side operand could be a variable, property or an array. The assignment operator has right to left associativity.

Following is a list of assignment operators available in Javascript.

Operator Description Example
= Assignment a += b is equivalent to a = a + b
+= Addition assignment a += b is equivalent to a = a + b
-= Subtraction assignment a -= b is equivalent to a = a - b
*= Multiplication assignment  a *= b is equivalent to a = a * b
/= Division assignment a /= b is equivalent to a = a / b
%= Remainder assignment a %= b is equivalent to a = a % b
**= Exponentiation assignment a **= b is equivalent to a = a ** b
<<= Left shift assignment a <<= b is equivalent to a = a << b
>>= Right shift assignment a >>= b is equivalent to a = a >> b
>>>= Unsigned right shift assignment a >>>= b is equivalent to a = a >>> b
&= Bitwise AND assignment a &= b is equivalent to a = a & b
|= Bitwise OR assignment a |= b is equivalent to a = a | b
^= Bitwise XOR assignment a ^= b is equivalent to a = a ^ b
&&= Logical AND assignment x = x && (x = y)
||= Logical OR assignment x = x || (x = y)
??= Nullish coalescing assignment x = x ?? (x = y)

You already learned about = assignment operator, which assigns value of its right operand to the left operand.

// Assigns value 5 to variable x
var x = 5;

console.log(x); // 5

Chaining JavaScript assignment operator

Chaining assignment operator helps when you want to assign same value to multiple variables.

var a;
var b;
var c = 10;

a = b = c; // value of all variables is 10

console.log(a);  // 10
console.log(b);  // 10
console.log(c);  // 10

As the assignment operator has right to left assiciativity. In the above example, first value of c, 10 is assigned to b and then value of b, 10 is assigned to a. In this way value of all variables becomes same i.e.,10.

The Addition Assignment Operator ( += )

The addition assignment operator adds the value of right-side operand and assign to left-side operand.

var a =2;
a+=1;
console.log(a);  // 3

The subtraction assignment operator ( -= )

The subtraction assignment operator subtracts the value of the right-side operand and assign it to left-side operand.

var a =2;
a-=1;
console.log(a);  // 1

The Multiplication Assignment Operator ( *= )

The multiplication assignment operator multiplies the value of the right-side operand and assign it to the left-side operand.

var a =2;
a*=5;
console.log(a);  // 10

The Division Assignment Operator ( /= )

The division assignment operator divides the value of the right-side operand and assign it to the left-side operand.

var a =10;
a/=2;
console.log(a);  // 5

The Remainder Assignment Operator ( %= )

The remainder assignment operator evaluates modulus of the right-side operand and assign it to the left-side operand.

var a =17;
a%=5;
console.log(a);  // 2