| Операція | Дія | Приклад | Значення, яке прийме Х |
|---|---|---|---|
| = | Привласнює значення змінної | Х=1000; | 1000 |
| += | Збільшує значення змінної на вказану величину | X=1000; Х +=100; | 1100 |
| -= | Зменшує значення змінної на вказану величину | X=1000; Х-=12; | 988 |
| *= | Множить значення змінної на вказану величину | X=1000; Х*=2; | 2000 |
| /= | Ділить значення змінної на вказану величину | X=1000; Х/=2; | 500 |
| %= | Ділить значення змінної на вказану величину і повертає залишок | X=1000; Х%=5; | 0 |
Привласнення відрізняється від звичайної рівності. Подивіться наступний приклад:
let a = 1;
a = a+2;
З точки зору математики запис a = a + 2 абсурдна але не з точки зору програмування.
В даному випадку змінна a мала значення 1, а потім ми змінній a присвоїли нове значення - старе значення змінної a плюс 2.
Операція a++ чи ++a - збільшує змінну a на одиницю. Ця операція називається інкремент.
Операція a-- чи --a - зменшує змінну a на одиницю. Ця операція називається декремент.
Приклади:
let a = 1;
a++; //збільшить a на 1, що відповідає коду a = a + 1;
alert(a); //виведе 2
let a = 1;
a--; //зменшить a на 1, що відповідає коду a = a - 1;
alert(a); //виведе 0
Давайте подивимося, в яких випадках проявляється різниця між++a і a++.
Нехай у нас є код alert(++a) і код alert(a++).
У першому випадку змінна спочатку збільшиться на одиницю, а потім виведеться а в другому випадку - спочатку виведеться, а потім збільшиться.
Ми вже розглядали код, який демонструє складності з операцією привласнення :
let a = 2;
a = a + 3;
В даному випадку ми привласнюємо змінній a її поточне значення, збільшене на 2. Проте JavaScript дозволяє записати цей код ще коротше за допомогою оператора +=:
let a = 1;
a += 3; //цей код повністю еквівалентний коду a = a + 3;
Крім того, існують оператори -=, *=, /=, які еквівалентні наступному коду:
let a = 2;
a -= 3; //цей код повністю еквівалентний коду a = a - 3;
let a = 2;
a *= 3; //цей код повністю еквівалентний коду a = a * 3;
let a = 2;
a /= 3; //цей код повністю еквівалентний коду a = a / 3;