JavaScript: Математические операторы
Оператор | Тип оператора | А | О | Типы значений |
---|---|---|---|---|
… + … … - … … * … … / … … % … … ** … |
Сложение Вычитание Умножение Деление Деление с остатком Возведение в степень |
слева направо слева направо слева направо слева направо слева направо справа налево |
2 2 2 2 2 2 |
число, число → число число, число → число число, число → число число, число → число число, число → число число, число → число |
Операторы: -
(вычитание), +
(сложение), *
(умножение) и /
(деление) работают точно так же, как и арифметические действия в математике. Оператор %
(деление с остатком) возвращает остаток от деления первого операнда на второй. Результат деления с остатком будет иметь тот же знак, что и первый операнд:
alert(10 + 2); // 12 alert(10 - 2); // 8 alert(10 * 2); // 20 alert(10 / 2); // 5 alert(5 % 2); // 1 alert(-5 % 2); // -1
Оператор **
(возведение в степень) имеет два операнда. Первый операнд является основанием степени, второй операнд – показателем степени, в результате оператор возвращает основание, возведённое в указанную степень:
2 ** 4; // 16
Все математические операторы преобразуют операнды по тем же правилам, что и функция Number().
Унарные + (плюс) и - (минус)
Оператор | Тип оператора | А | О | Типы значений |
---|---|---|---|---|
- … + … |
Унарный минус Унарный плюс |
справа налево справа налево |
1 1 |
число → число число → число |
Оператор +
(унарный плюс) преобразует значение своего операнда в число и возвращает преобразованное значение. При использовании с числовым операндом он не выполняет никаких действий:
var x = +"5";
Оператор -
(унарный минус) преобразует значение своего операнда в число, если это необходимо, и затем делает число отрицательным:
var x = -5 + 3;
Унарные плюс и минус преобразуют операнды по тем же правилам, что и функция Number().
Инкремент и декремент
Оператор | Тип оператора | А | О | Типы значений |
---|---|---|---|---|
… ++ … -- ++ … -- … |
Постфиксный инкремент Постфиксный декремент Префиксный инкремент Префиксный декремент |
отсутствует отсутствует справа налево справа налево |
1 1 1 1 |
lval → число lval → число lval → число lval → число |
Оператор ++
(инкремент) увеличивает значение своего операнда на единицу. Если значение операнда не является числом, оператор автоматически преобразует его в число, увеличивает на единицу и возвращает результат, который присваивается обратно операнду.
Инкремент имеет две формы – постфиксную (оператор ставится после операнда) и префиксную (оператор ставится перед операндом). Если он используется в постфиксной форме, то сначала возвращается исходное значение операнда, и только затем значение операнда увеличивается на единицу:
var x = 5; alert(x++); // 5 alert(x); // 6Попробовать »
В префиксной форме оператор инкремент сразу увеличивает значение своего операнда на единицу:
var x = 5; alert(++x); // 6Попробовать »
Оператор --
(декремент) работает аналогично оператору инкремент, но не увеличивает значение своего операнда, а наоборот, уменьшает его на единицу:
var x = 5; alert(--x); // 4Попробовать »
Инкремент и декремент преобразуют операнды по тем же правилам, что и функция Number().
С этой темой смотрят: