JavaScript-арифметика


Оглавление

    Показать оглавление


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

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

+

Добавление

-

Вычитание

*

Умножение

**

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

/

Разделение

%

Модуль (Остаток)

++

Приращение

--

Декремент


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

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

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

Пример

let x = 100 + 50;

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Arithmetic</h2>
<p>A typical arithmetic operation takes two numbers and produces a new number.</p>

<p id="demo"></p>

<script>
let x = 100 + 50;
document.getElementById("demo").innerHTML = x;
</script>

</body>
</html>

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

Пример

let x = a + b;

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Arithmetic</h2>
<p>A typical arithmetic operation takes two numbers (or variables) and produces a new number.</p>

<p id="demo"></p>

<script>
let a = 100;
let b = 50;
let x = a + b;
document.getElementById("demo").innerHTML = x;
</script>

</body>
</html>

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

Пример

let x = (100 + 50) * a;

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Arithmetic</h1>
<h2>Arithmetic Operations</h2>
<p>A typical arithmetic operation takes two numbers (or expressions) and produces a new number.</p>

<p id="demo"></p>

<script>
let a = 3;
let x = (100 + 50) * a;
document.getElementById("demo").innerHTML = x;
</script>

</body>
</html>

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

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

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

Operand Operator Operand
100 + 50


Добавление

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

Пример

let x = 5;
let y = 2;
let z = x + y;

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Arithmetic</h1>
<h2>The + Operator</h2>

<p id="demo"></p>

<script>
let x = 5;
let y = 2;
let z = x + y;
document.getElementById("demo").innerHTML = z;
</script>

</body>
</html>

Вычитание

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

Пример

let x = 5;
let y = 2;
let z = x - y;

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Arithmetic</h1>
<h2>The - Operator</h2>

<p id="demo"></p>

<script>
let x = 5;
let y = 2;
let z = x - y;
document.getElementById("demo").innerHTML = z;
</script>

</body>
</html>

Умножение

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

Пример

let x = 5;
let y = 2;
let z = x * y;

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Arithmetic</h1>
<h2>The * Operator</h2>

<p id="demo"></p>

<script>
let x = 5;
let y = 2;
let z = x * y;
document.getElementById("demo").innerHTML = z;
</script>

</body>
</html>

Разделение

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

Пример

let x = 5;
let y = 2;
let z = x / y;

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Arithmetic</h1>
<h2>The / Operator</h2>

<p id="demo"></p>

<script>
let x = 5;
let y = 2;
let z = x / y;
document.getElementById("demo").innerHTML = z;
</script>

</body>
</html>

Остаток

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

Пример

let x = 5;
let y = 2;
let z = x % y;

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Arithmetic</h1>
<h2>The % Operator</h2>

<p id="demo"></p>

<script>
let x = 5;
let y = 2;
let z = x % y;
document.getElementById("demo").innerHTML = z;
</script>

</body>
</html>

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

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


Увеличение

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

Пример

let x = 5;
x++;
let z = x;

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Arithmetic</h1>
<h2>The ++ Operator</h2>

<p id="demo"></p>

<script>
let x = 5;
x++;
let z = x;
document.getElementById("demo").innerHTML = z;
</script>

</body>
</html>

Уменьшение

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

Пример

let x = 5;
 x--;
let z = x;

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Arithmetic</h1>
<h2>The -- Operator</h2>

<p id="demo"></p>

<script>
let x = 5;
x--;
let z = x;
document.getElementById("demo").innerHTML = z;
</script>

</body>
</html>

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

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

Пример

let x = 5;
let z =
 x ** 2;

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Arithmetic</h1>
<h2>The ** Operator</h2>

<p id="demo"></p>

<script>
let x = 5;
document.getElementById("demo").innerHTML = x ** 2;
</script>

</body>
</html>

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

Пример

let x = 5;
let z =
  Math.pow(x,2);

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Arithmetic</h1>
<h2>Math.pow()</h2>

<p id="demo"></p>

<script>
let x = 5;
document.getElementById("demo").innerHTML = Math.pow(x,2);
</script>

</body>
</html>

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

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

Пример

let x = 100 + 50 * 3;

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Arithmetic</h1>
<h2>Operator Precedence</h2>
<p>Multiplication has precedence over addition.</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = 100 + 50 * 3;
</script>

</body>
</html>

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

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

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

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

И (как и в школьной математике) приоритет можно изменить, используя круглые скобки.

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

Пример

let x = (100 + 50) * 3;

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Arithmetic</h1>
<h2>Operator Precedence</h2>
<p>Multiplication has precedence over addition.</p>
<p>But parenthesis has precedence over multiplication.</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = (100 + 50) * 3;
</script>

</body>
</html>

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

Примеры

let x = 100 + 50 - 3;

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Arithmetic</h1>
<h2>Operator Precedence</h2>
<p>When many operations has the same precedence, they are computed from left to right.</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = 100 + 50 - 3;
</script>

</body>
</html>
let x = 100 / 50 * 3;

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Arithmetic</h1>
<h2>Operator Precedence</h2>
<p>When many operations has the same precedence, they are computed from left to right.</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = 100 / 50 * 3;
</script>

</body>
</html>

Примечание

Полный список значений приоритета операторов можно найти по адресу:

Значения приоритета операторов JavaScript.