Page 109 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 109
Помните, что все числа в JavaScript имеют двойную точность, а значит, если вы
выполняете арифметическую операцию с целыми числами (например, 3 / 2 ) , то ре
зультат имеет вид десятичного числа 1 . 5).
(
Для вычитания и унарного вычитания используется одинаковый символ (знак
"минус"), так как же JavaScript узнает, что им обозначено? Ответ на этот вопрос сло
жен и здесь не рассматривается. Достаточно знать, что унарное вычитание вычисля
ется перед обычным.
const х 5 ;
const у = 3 - -х; 1 1 у равно 8
То же относится к унарной сумме. Унарная сумма используется довольно редко.
Обычно с ее помощью строка преобразуется в число или она используется для вы
равнивания значений при инвертировании знака некоторых из них.
const s = " 5 " ;
const у = 3 + + s ; / / у равно 8 ; без унарного плюса это
/ / был бы результат конкатенации строк: "35 "
1 1 использование ненужных унарных плюсов для выравнивания кода
const xl О, х2 3 , х3 = - 1 . 5 , х4 = - 6 . 3 3 ;
const pl -xl * l ;
const р2 +х * 2 ;
2
3
const р3 +х * 3 ;
const р3 -х4* 4 ;
Обратите внимание, что в этих примерах я специально использовал переменные
с операторами унарного вычитания и суммы. Если вы используете их с числовыми
литералами, то знак "минус" фактически становится частью числового литерала,
а потому технически он не оператор.
Оператор остатка возвращает остаток после деления. Если у вас есть выражение
х % у, то результатом будет остаток от делении делимого (х) на делитель (у). Напри
мер, 1 0 % З даст 1 (3 входит в 10 три раза и остается 1 ) . Обратите внимание, что
при отрицательных числах результат получит знак делимого, а не делителя, что не
позволяет ему быть истинным оператором модуля. В то время как оператор остатка
обычно используется только с целочисленными операндами, в JavaScript он приме
ним и к дробным операндам. Например, 0 % 3 . 6 даст 3 ( 3 . 6 входит в 10 дважды,
1
остается 2.8).
Оператор инкремента ( ++) фактически является оператором суммы и оператором
присваивания одновременно. Аналогично оператор декремента (--) является опера
тором вычитания и присваивания. Это очень полезные сокращения, но использо
вать их следует осторожно: если применить один из них глубоко в выражении, то он
может стать причиной трудно обнаруживаемого "побочного эффекта" (изменений
в переменной). Понимание различий между префиксными (prefix) и постфиксными
1 0 8 Глава 5. Выражения и операторы

