ЛУЧШИЙ САЙТ ДЛЯ ВЕБ-РАЗРАБОТЧИКОВ

Базовый JavaScript

JS Учебник JS Синтаксис JS Переменные JS Операторы JS If Условия JS Циклы JS Строки JS Числа JS Функции JS Объекты JS Даты JS Массивы JS Наборы JS Карты JS Математические JS RegExp JS Типы данных JS Ошибки JS Дебагинг JS События JS Программирование JS Справочники JS UTF-8 Характеры

JS Расширенный

JS Версии JS Функции JS Объекты JS Классы JS Итерации JS Промисы JS Модули JS HTML DOM JS Окна JS Web API JS AJAX JS JSON JS jQuery JS Графика JS Примеры JS Объекты

JavaScript. Уроки W3Schools для начинающих на русском языке

Ua En Es De Fr

JavaScript Арифметические операторы


JavaScript Арифметические операторы

Арифметические операторы выполняют арифметические операции над числами (литералами или переменными).

Оператор Описание
+ Сложение
- Вычитание
* Умножение
** Возведение в степень (ES2016)
/ Деление
% Модуль (остаток)
++ Инкремент (прирост)
-- Декремент (убыль)

Арифметические операции

Обычная арифметическая операция выполняется с двумя числами.

Эти два числа могут быть литералами:

Пример

let x = 100 + 50;
Попробуйте сами »

или переменные:

Пример

let x = a + b;
Попробуйте сами »

или выражения:

Пример

let x = (100 + 50) * a;
Попробуйте сами »

Операторы и операнды

Числа (в арифметической операции) называются операндами.

Операция (которая выполняется между двумя операндами) определяется оператором.

Операнд Оператор Операнд
100 + 50

Сложение

Оператор сложения (+) складывает числа:

Пример

let x = 5;
let y = 2;
let z = x + y;
Попробуйте сами »

Вычитание

Оператор вычитания (-) вычитает числа.

Пример

let x = 5;
let y = 2;
let z = x - y;
Попробуйте сами »

Умножение

Оператор умножения (*) умножает числа.

Пример

let x = 5;
let y = 2;
let z = x * y;
Попробуйте сами »

Деление

Оператор деления (/) делит числа.

Пример

let x = 5;
let y = 2;
let z = x / y;
Попробуйте сами »

Остаток

Оператор модуль (%) возвращает остаток от деления.

Пример

let x = 5;
let y = 2;
let z = x % y;
Попробуйте сами »

В арифметике деление двух целых чисел создаёт частное и остаток.

В математике результатом операции по модулю является остаток от арифметического деления.


Инкремент (Увеличение)

Оператор инкремента (++) увеличивает числа.

Пример

let x = 5;
x++;
let z = x;
Попробуйте сами »

Декремент (Уменьшение)

Оператор декремента (--) уменьшает числа.

Пример

let x = 5;
x--;
let z = x;
Попробуйте сами »

Возведение в степень

Оператор возведения в степень (**) возводит первый операнд в степень другого операнда.

Пример

let x = 5;
let z = x ** 2;          // результат 25
Попробуйте сами »

x ** y даёт такой же результат, как Math.pow(x,y):

Пример

let x = 5;
let z = Math.pow(x,2);   // результат 25
Попробуйте сами »

Приоритет оператора

Приоритет операторов описывает порядок выполнения операций в арифметическом выражении.

Пример

let x = 100 + 50 * 3;
Попробуйте сами »

Результат в примере выше такой же, как 150*3, или он такой же, как 100+150?

Сначала выполняется сложение или умножение?

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

Умножение (*) и деление (/) имеют высший приоритет чем сложение (+) и вычитание(-).

И (как в школьной математике) приоритет можно изменить с помощью круглых скобок:

Пример

let x = (100 + 50) * 3;
Попробуйте сами »

При использовании скобок сначала вычисляются операции внутри скобок.

Если многие операции имеют одинаковый приоритет (например, сложение и вычитание), они вычисляются слева направо:

Пример

let x = 100 + 50 - 3;
Попробуйте сами »

JavaScript Значение приоритета оператора

Бледно-красные записи указывают на ECMAScript 2015 (ES6) или выше.

Значение Оператор Описание Пример
21 ( ) Группировка выражений (3 + 4)
       
20 . Член person.name
20 [] Член person["name"]
20 () Вызов функции myFunction()
20 new Создать new Date()
       
18 ++ Постфикс инкремент i++
18 -- Постфикс декремент i--
       
17 ++ Префикс инкремент ++i
17 -- Префикс декремент --i
17 ! Логическое не !(x==y)
17 typeof Тип typeof x
       
16 ** Возведение в степень (ES2016) 10 ** 2
       
15 * Умножение 10 * 5
15 / Деление 10 / 5
15 % Остаток от деления 10 % 5
       
14 + Сложение 10 + 5
14 - Вычитание 10 - 5
       
13 << Сдвиг влево x << 2
13 >> Сдвиг вправо x >> 2
13 >>> Сдвиг вправо (без знака) x >>> 2
       
12 < Меньше чем x < y 
12 <= Меньше чем или равно x <= y
12 > Больше чем x > y
12 >= Больше чем или равно x >= y
12 in Свойство в объекте "PI" в Математике
12 instanceof Экземпляр объекта instanceof Array
       
11 == Равно x == y
11 === Строго равно x === y
11 != Не равно x != y
11 !== Строго не равно x !== y
       
10 & Побитовое AND x & y
9 ^ Побитовое XOR x ^ y
8 | Побитовое OR x | y
7 && Логическое AND x && y
6 || Логическое OR x || y
5 ?? Нулевое слияние x ?? y
4 ? : Состояние ? "Yes" : "No"
       
3 += Присваивание x += y
3 /= Присваивание x /= y
3 -= Присваивание x -= y
3 *= Присваивание x *= y
3 %= Присваивание x %= y
3 <<= Присваивание x <<= y
3 >>= Присваивание x >>= y
3 >>>= Присваивание x >>>= y
3 &= Присваивание x &= y
3 ^= Присваивание x ^= y
3 |= Присваивание x |= y
       
2 yield Функция паузы yield x
1 , Запятая 5 , 6

Выражения в скобках полностью вычисляются перед использованием значения в остальном выражении.


Проверьте себя с помощью упражнений

Упражнение:

Поделите 10 на 2 и сообщите результат.

alert(10  2);