JavaScript Assignment
JavaScript Assignment Operators
Assignment operators assign values to JavaScript variables.
Given that x = 10 and y = 5, the table below explains the assignment operators:
| Operator | Example | Same As | Result |
|---|---|---|---|
| = | x = y | x = y | x = 5 |
| += | x += y | x = x + y | x = 15 |
| -= | x -= y | x = x - y | x = 5 |
| *= | x *= y | x = x * y | x = 50 |
| **= | x **= y | x = x ** y | x = 100000 |
| /= | x /= y | x = x / y | x = 2 |
| %= | x %= y | x = x % y | x = 0 |
| : | x: 45 | size.x = 45 | x = 45 |
Logical Assignment Operators
| Operator | Example | Result |
|---|---|---|
| &&= | true &&= 10 | x = 10 |
| ||= | false ||= 10 | x = 10 |
| ??= | null ??= 10 | x = 10 |
The = Operator
The Simple Assignment Operator assigns a simple value to a variable.
The += Operator
The Addition Assignment Operator adds a value to a variable.
The -= Operator
The Subtraction Assignment Operator subtracts a value from a variable.
The *= Operator
The Multiplication Assignment Operator multiplies a variable.
The **= Operator
The Exponentiation Assignment Operator raises a variable to the power of the operand.
The /= Operator
The Division Assignment Operator divides a variable.
The %= Operator
The Remainder Assignment Operator assigns a remainder to a variable.
String Assignment
Two assignment operators can assign values to strings:
The Simple Assignment Operator assigns a simple value to a string.
The Addition Assignment Operator adds a value to a string.
The = Operator
The Simple Assignment Operator assigns a value to a variable.The += Operator
The Addition Assignment Operator Can also be used to add strings.
The &&= Operator
The Logical AND assignment operator is used between two values.
If the first value is true, the second value is assigned.
Logical AND Assignment Examples
let x = true;
let y = x &&= 10;
Try it Yourself »
let x = false;
let y = x &&= 10;
Try it Yourself »
let x = 1;
let y = x &&= 10;
Try it Yourself »
let x = 0;
let y = x &&= 10;
Try it Yourself »
let x = undefined;
let y = x &&= 10;
Try it Yourself »
let x = null;
let y = x &&= 10;
Try it Yourself »
Note
The &&= operator is an ES2020 feature.
The ||= Operator
The Logical OR assignment operator is used between two values.
If the first value is false, the second value is assigned.
Logical OR Assignment Examples
let x = false;
let y = x ||= 10;
Try it Yourself »
let x = true;
let y = x ||= 10;
Try it Yourself »
let x = null;
let y = x ||= 10;
Try it Yourself »
let x = undefined;
let y = x ||= 10;
Try it Yourself »
Note
The ||= operator is an ES2020 feature.
The ??= Operator
The Nullish coalescing assignment operator is used between two values.
If the first value is undefined or null, the second value is assigned.
Nullish Coalescing Assignment Examples
let x;
x ??= 10;
Try it Yourself »
let x = 0;
x ??= 10;
Try it Yourself »
let x = null;
x ??= 10;
Try it Yourself »
let x = undefined;
x ??= 10;
Try it Yourself »
let x = 10;
let y = 5;
x ??= y;
Try it Yourself »
Note
The ??= operator is an ES2020 feature.
Quick Reference
| Operator | Result |
|---|---|
| x &&= y | Assigns y to x only if x is truthy |
| x ||= y | Assigns y to x only if x is falsy |
| x ??= y | Assigns y to x only if x is null or undefined |
The 8 FALSY Values
| false | The boolean keyword itself |
| 0 | The number zero |
| -0 | Negative zero |
| 0n | BigInt zero |
| "", '', `` | Any empty string |
| null | The absence of any value |
| undefined | A variable that has not been assigned a value |
| NaN | "Not-a-Number," usually the result of an invalid math operation |
These are TRUTHY
It is a common mistake to think these are falsy, but they actually evaluate to true:
| "0" | A string containing a zero is truthy because it is not empty |
| "false" | The string "false" is truthy |
| [ ] | An empty array is truthy |
| { } | An empty object is truthy |
The Spread (...) Operator
The ... operator splits iterables into individual elements.
Example
let text = "12345";
let min = Math.min(...text);
let max = Math.max(...text);
Try it Yourself »