тк 3 июля праздник (в беларуси), буду не онлайн (по возможности буду отвечать)

Сокращенные операции в JavaScript

Сейчас мы с вами разберем некоторые нюансы работы с операцией присваивания.

Посмотрите следующий пример:

let num = 1; // объявляем переменную num и записываем в нее значение 1 num = num + 2; // записываем в num ее саму плюс 2 alert(num); // выведет 3

В данном примере в переменную num мы сначала записали значение 1, а затем переменной num присвоили новое значение, представляющее собой текущее значение переменной num (то есть 1) плюс 2.

Как вы видите, над текущим значением переменной можно производить какие-то операции, а затем записывать результат обратно в эту же переменную.

С точки зрения математики запись num = num + 2 абсурдна, но не с точки зрения программирования: ведь в программировании знак = используется для присваивания значения, а не для сравнения.

Не запуская код, определите, что выведется на экран:

let num = 1; num = num + 1; num = num + 1; alert(num);

Не запуская код, определите, что выведется на экран:

let num = 1; num = num + 2; num = num + 3; alert(num);

Сокращенные операции

Пусть дан вот такой код:

let num = 1; num = num + 2;

В данном случае переменной num присваивается ее текущее значение, увеличенное на 2.

Для таких операций, когда в переменную записывается ее текущее значение плюс еще что-то, существует специальный сокращенный синтаксис.

В этом сокращенном синтаксисе вместо обычного присваивания через = применяется специальный оператор +=.

Давайте посмотрим на примере:

let num = 1; num += 3; // этот код полностью эквивалентен коду num = num + 3;

Существуют аналогичные операторы для остальных математических операций:

let num = 2; num -= 3; // этот код полностью эквивалентен коду num = num - 3;
let num = 2; num *= 3; // этот код полностью эквивалентен коду num = num * 3;
let num = 2; num /= 3; // этот код полностью эквивалентен коду num = num / 3;

Переделайте этот код так, чтобы в нем использовались описанные сокращенные операции:

let num = 47; num = num + 7; num = num - 18; num = num * 10; num = num / 15; alert(num);