Множественные операторы ECMAScript

Операторы умножения ECMAScript аналогичны по способу действия операторам умножения в языках Java, C, Perl и других.

Следует отметить, что у операторов умножения также есть некоторые автоматические функции преобразования.

Оператор умножения

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

Синтаксис умножения в ECMAScript такой же, как и в языке C:

var iResult = 12 * 34

Однако, при обработке специальных значений в ECMAScript есть некоторые особые поведения умножения:

  • Если результат слишком велик или слишком мал, то результатом является Infinity или -Infinity.
  • Если один из операндов является NaN, результат возвращает NaN.
  • Infinity умножается на 0, результат равен NaN.
  • Infinity умножается на любое число, кроме 0, результат равен Infinity или -Infinity.
  • Infinity умножается на infinity, результат равен Infinity.

Комментарий:Если операнды являются числами, то выполняется обычное умножение, то есть два положительных числа или два отрицательных числа являются положительными, а если знаки операндов различаются, результат является отрицательным.

Оператор деления

Оператор деления представлен косой чертой (/) и используется для деления второго операнда на первый:

var iResult = 88 / 11;

Как и у операторов умножения, у оператора деления также есть особое поведение при обработке специальных значений:

  • Если результат слишком велик или слишком мал, то результатом является Infinity или -Infinity.
  • Если один из операндов является NaN, результат возвращает NaN.
  • Деление infinity на infinity возвращает NaN.
  • Infinity делится на любое число, результат равен Infinity.
  • 0 делится на любое неограниченное число, результат равен NaN.
  • Infinity делится на любое число, кроме 0, результат равен Infinity или -Infinity.

Комментарий:Если операнды являются числами, то выполняется обычное деление, то есть два положительных числа или два отрицательных числа являются положительными, а если знаки операндов различаются, результат является отрицательным.

Оператор модуля

Оператор деления (остаток) представлен百分ым (%) и используется следующим образом:

var iResult = 26%5; // равно 1

Как и другие мультипlicative операторы, для специальных значений у модуля также есть особое поведение:

  • Если dividend является infinity или divisor равен 0, результат возвращает NaN.
  • Деление infinity на infinity возвращает NaN.
  • Если divisor является числом бесконечности, результат равен dividend.
  • Если dividend равен 0, результат равен 0.

Комментарий:Если операнд является числом, то выполняется обычное арифметическое деление с возвращением остатка от деления.