Арифметические операции
В языке поддерживается стандартный набор арифметических операций: сложение, вычитание, умножение, деление. Кроме того, поддерживаются операции возведения в степень, смены знака и получения остатка от деления. Применимость арифметических операций зависит от типов операндов:
- Операция сложения: +. Операция применима для следующих типов:
Операция Результат Число + Число Число Длительность + Длительность Длительность ДатаВремя + Длительность ДатаВремя Дата + Длительность Дата Время + Длительность Время Момент + Длительность Момент Строка + Объект Строка Строка + Неопределено Строка Здесь:- при операции вида Строка + Объект (конкатенации со строкой) объекты нестрокового типа неявно преобразуются в строку с помощью метода ВСтроку();
- при операции вида Строка + Неопределено значение Неопределено
преобразуется в строку
"undefined"
.
Операция вычитания: -. Операция применима для следующих типов:
Операция Результат Число - Число Число Длительность - Длительность Длительность ДатаВремя - Длительность ДатаВремя Дата - Длительность Дата Время - Длительность Время Момент - Длительность Момент Операция умножения: *. Операция применима для следующих типов:
Операция Результат Число * Число Число Длительность * Число Длительность Операция деления: /. Операция применима для следующих типов:
Операция Результат Число / Число Число Длительность / Число Длительность Операция получения остатка от деления: %. Операция применима для следующих типов:
Операция Результат Число % Число Число Операция возведения в степень: **. Операция применима для следующих типов:
Операция Результат Число ** Число Число Операция изменения знака: - (унарный минус). Операция применима для следующих типов:
Операция Результат - Число Число - Длительность Длительность
Приоритет операций
При вычислении арифметических выражений используется следующий приоритет вычисления (в порядке уменьшения приоритета):
- Выражения в круглых скобках.
- - (унарный минус).
- Операция **.
- Операции *, /, %.
- Операция +, -.