+
¶So far we have only seen operators that work on operands which are of type number
, but there are operators that work on other data types as well. In particular, the +
operator can be used with string
operands to concatenate, or join together two strings.
Example
"Launch" + "Code"
evaluates to "LaunchCode"
Let's compare +
used with numbers to +
used with strings.
Example
1console.log(1 + 1);
2console.log("1" + "1");
Console Output
2
11
This example demonstrates that the operator + behaves differently based on the data type of its operands.
Warning
So far we have only seen examples of operators working with data of like type. For the examples 1 + 1
and "1" + "1"
, both operands are of type number
and string
, respectively.
We will explore such "mixed" operations in a later chapter.
A common programming task is to update the value of a variable in reference to itself.
Example
1let x = 1;
2x = x + 1;
3
4console.log(x);
Console Output
2
Line 2 may seem odd to you at first, since it uses the value of the variable x
to update x
itself. This technique is not only legal in JavaScript (and programming in general) but is quite common. It essentially says, "update x
to be one more than its current value."
This action is so common, in fact, that it has a shorthand operator, +=
. The following example has the same behavior as the one above.
Example
1let x = 1;
2x += 1;
3
4console.log(x);
Console Output
2
The expression x += 1
is shorthand for x = x + 1
.
There is an entire family of such shorthand operators, known as compound assignment operators.
Operator name | Shorthand | 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 |