4.7. Other Operators

4.7.1. The String Operator +

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.

4.7.2. Compound Assignment Operators

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.

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