Page 110 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 110
(postfix) операторами также важно. Префиксная версия изменяет значение перемен
ной, а затем возвращает новое значение; постфиксный оператор изменяет значение
переменной, а затем возвращает первоначальное значение. Посмотрим, сможете ли
вы предсказать результаты вычисления следующих выражений (подсказка: операто
ры инкремента и декремента вычисляются перед сложением, а вычисления в этом
примере осуществляются слева направо).
let х = 2 ;
const rl х++ + х++ ;
const r2 ++х + ++х ;
const rЗ х++ + ++х ;
const r4 ++х + х++;
let у = 1 0 ;
const rS у-- + у- - ;
const rб --у + --у ;
const r7 у - + - -у ;
-
const r 8 - у + у-- ;
-
Давайте запустим этот пример на консоли JavaScript и выясним, сможете ли вы
предсказать значения констант rl - r8, а также значения х и у на каждом этапе. Если
у вас возникли проблемы с этим упражнением, попробуйте записать задачу на листе
бумаги и расставить круглые скобки согласно порядку выполнения каждой опера
ции, например так.
let х = 2 ;
const r l = х++ + х++ ;
1 1 ( (х++) + (х++) )
1 1 ( 2 + (х++) ) вычисляется слева направо;
1 1 теперь х содержит значение 3
1 1 2 + 3 ) теперь х содержит значение 4
1 1 5 результат 5 ; х содержит значение 4
const r2 = ++х + ++х;
/ / ( (++х) + (++х) )
1 1 ( 5 + (++х) ) вычисляется слева направо;
1 1 теперь х содержит значение 5
1 1 ( 5 + 6 ) теперь х содержит значение 6
1 1 1 1 результат 1 1 ; х содержит значение 6
const r З = х++ + ++х;
1 1 ( ( х++) + (++х) )
1 1 ( б + (++х) ) вычисляется слева направо;
1 1 теперь х содержит значение 7
1 1 6 + 8 теперь х содержит значение 8
1 1 1 4 результат 1 4 ; х содержит значение 8
1 1
/ / . . и так далее
.
Арифметические операторы 1 0 9

