Что означает оператор *= или -=

188
26 сентября 2018, 00:00

В качестве примера в учебнике есть вот такой код:

milesTraveled = endingMileage -= startingMileage;
amountOwed = milesTraveled *= reimburseRate;

Почему вместо обычных операторов умножения и вычитания использованы *= и -=. Они чем-то отличаются?

Answer 1

Почему вместо обычных операторов умножения и вычитания использованы *= и -=.

Можете читать их буквально "умножить и провести присвоение" и "вычесть и провести присвоение". Т.е. после проведения указанных операций не только изменится значения переменных milesTraveled и amountOwed, но и переменной endingMileage.

Пример с указанными операциями:

let startingMileage; 
let endingMileage; 
let milesTraveled; 
let amountOwed; 
let reimburseRate; 
 
startingMileage = 1; 
endingMileage = 3; 
reimburseRate = 10; 
 
milesTraveled = endingMileage -= startingMileage; 
console.log("milesTraveled:" + milesTraveled ); 
amountOwed = milesTraveled *= reimburseRate; 
 
console.log("startingMileage:" + startingMileage +  
  ", endingMileage:" + endingMileage + 
  ", milesTraveled:" + milesTraveled + 
  ", amountOwed:" + amountOwed);

Answer 2

Составные операторы "раскрываются" следующим образом:

milesTraveled = endingMileage -= startingMileage;

преобразуется в

milesTraveled = (endingMileage = endingMileage - startingMileage);

и раскроем скобки

endingMileage = endingMileage - startingMileage; 
milesTraveled = endingMileage;
milesTraveled = milesTraveled * reimburseRate;
amountOwed = milesTraveled;

Cмысл - более краткая запись.

READ ALSO
Изменить положение названия формы

Изменить положение названия формы

В примере название формы находится по центру

189
Представить строку в xml формате

Представить строку в xml формате

Из БД достаю информацию типа byte[], преобразовываю в stringВ результате получаю длинную строку с xml данными:

148
C# Post request

C# Post request

Необходимо отправить POST запросом XML файлПри получении ответа получаю ошибку java

194
Вывод данных из MySQL по категориям

Вывод данных из MySQL по категориям

Есть база данных, в ней 2 таблицы(category_sklad состоящая из id name и products_sklad состоящая из id name kolvo category_id)Собственно вот что планируется сделать, например...

185