/
Вопросы и ответы
/
JavaScript
/

Почему a += 1 не равно просто a + 1 в JavaScript

Почему a += 1 не равно просто a + 1 в JavaScript

В тесте встречается код:

let a = 5;
a -= 4;
a += 1;
console.log(a);

Почему вывод будет 2, а не a + 1? Чем отличается запись a += 1 от просто a + 1?

8 часов назад

Nikolai Gagarinov

Ответы

0

Разберём код пошагово:

let a = 5;   // создаём переменную a и присваиваем 5
a -= 4;      // эквивалентно a = a - 4 → a = 5 - 4 = 1
a += 1;      // эквивалентно a = a + 1 → a = 1 + 1 = 2
console.log(a); // выводит 2

Ключевое отличие:

  • a += 1 или a = a + 1 изменяет значение переменной a и сохраняет новый результат.
  • a + 1 без присваивания только вычисляет выражение, но не меняет a.

Пример:

let a = 1;
console.log(a + 1); // 2, но a всё ещё 1
console.log(a);     // 1

Итак, оператор += (и подобные -=, *=, /=) комбинирует вычисление с присваиванием, поэтому результат сохраняется в переменной. Это базовое поведение переменных в JavaScript.

8 часов назад

Nikolai Gagarinov