# Assignment operators (JavaScript)

An assignment operator assigns a value to its left operand based on the value of its right operand. The basic assignment operator is equal (=). The other assignment operators are shorthand for another operation plus the assignment.

Operator Meaning Description
x = y x = y Assigns the value of y to x.
x += y x = x + y Assigns the result of x plus y tox.
x -= y x = x - y Assigns the result of x minus y tox.
x *= y x = x * y Assigns the result of x times y tox.
x /= y x = x / y Assigns the result of x divided by y tox.
x %= y x = x % y Assigns the result of x modulo y tox.
x &=y x = x & y Assigns the result of x AND y tox.
X |=y x =x | y Assigns the result of x OR y tox.
x ^=y x = x ^ y Assigns the result of x XOR y tox.
x <<= y x = x << y Assigns the result of x shifted left by y tox.
x >>= y x = x >> y Assigns the result of x shifted right (sign preserved) by y tox.
x >>>= y x = x >>> y Assigns the result of x shifted right by y tox.

## Examples

This example exercises the = and += operators. Each loop is functionally the same.
``````function p(stuff) {
print("<<<" + stuff + ">>>");
}

p("start =");
var x = 0.1;
do {
p("x = " + x);
x = x + 0.1;
} while(x < 1.0)

p("start +=");
var x = 0.1;
do {
p("x = " + x);
x += 0.1;
} while(x < 1.0)``````

This example exercises the assignment operators that also perform arithmetic operations.

``````function p(stuff) {
print("<<<" + stuff + ">>>");
}

var x1 = 1.0, x2 = 1.0, x3 = 1.0, x4 = 1.0;
var y = 0.25;
for(var i = 0; i < 5; i++) {
x1 += y;
x2 -= y;
x3 *= y;
x4 /= y;
}
p("x1 += y: " + x1);
p("x2 -= y: " + x2);
p("x3 *= y: " + x3);
p("x4 /= y: " + x4);``````