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
20More Assignment Operators
There are many assignment operators, as shown in the table below:
| Operator Name | Shorthand Operator | Meaning |
|---|---|---|
| Addition Assignment | a += b | a = a + b |
| Subtraction Assignment | a -= b | a = a - b |
| Multiplication Assignment | a *= b | a = a * b |
| Division Assignment | a /= b | a = a / b |
| Remainder Assignment | a %= b | a = a % b |
| Exponentiation Assignment | a **= b | a = a ** b |
| Left Shift Assignment | a <<= b | a = a << b |
| Right Shift Assignment | a >>= b | a = a >> b |
| Bitwise AND Assignment | a &= b | a = a & b |
| Bitwise OR Assignment | `a | = b` |
| Bitwise XOR Assignment | a ^= b | a = a ^ b |
| Logical AND Assignment | a &&= b | x && (x = y) |
| Logical OR Assignment | `a | |
| Nullish Coalescing Assignment | a ??= b | x ?? (x = y) |
Addition Assignment Operator (+=)
let a = 2;
const b = 3;
console.log(a); // Expected output: 2
console.log(a = b + 1); // Expected output: 4Output:
2
4Subtraction Assignment Operator (-=)
let foo = 4;
console.log(foo -= 1); // Expected output: 3Output:
3Multiplication Assignment Operator (*=)
let foo = 4;
console.log(foo *= 2); // Expected output: 8Output:
8Division Assignment Operator (/=)
let yoo = 10;
const moo = 2;
console.log(yoo /= moo); // Expected output: 5
console.log(yoo /= 0); // Expected output: InfinityOutput:
5
InfinityRemainder Assignment Operator (%=)
let yoo = 50;
console.log(yoo %= 10); // Expected output: 0Output:
0Exponentiation Assignment Operator (**=)
let num = 5;
console.log(num **= 3); // Expected output: 125Output:
125Left Shift Assignment Operator (<<=)
let yoo = 5;
console.log(yoo <<= 2); // Expected output: 20 (Binary: 10100)Output:
20Right Shift Assignment Operator (>>=)
let yoo = 5;
console.log(yoo >>= 2); // Expected output: 1 (Binary: 001)Output:
1Bitwise AND Assignment Operator (&=)
let yoo = 5;
console.log(yoo &= 2); // Expected output: 0 (Binary: 000)Output:
0Bitwise OR Assignment Operator (|=)
let yoo = 5;
console.log(yoo |= 2); // Expected output: 7 (Binary: 111)Output:
7Bitwise XOR Assignment Operator (^=)
let yoo = 5;
console.log(yoo ^= 2); // Expected output: 7 (Binary: 111)Output:
7Logical 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
KumarLogical 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
KumarNullish 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: 13Output:
12
13