В этом руководстве вы узнаете, как использовать арифметические операторы JavaScript для выполнения вычислений.
Введение
JavaScript поддерживает следующие стандартные арифметические операторы:
| Оператор | Знак |
|---|---|
| Сложение | + |
| Вычитание | - |
| Умножение | * |
| Деление | / |
Арифметический оператор принимает числовые значения в качестве операндов и возвращает одно числовое значение. Числовые значения могут быть литералами или переменными.
Оператор сложения(+)
Оператор сложения возвращает сумму двух значений. Например, в следующем примере оператор сложения используется для вычисления суммы двух чисел:
let sum = 10 + 20; console.log(sum); // 30
Также вы можете использовать оператор сложения с двумя переменными. Например:
let netPrice = 9.99, shippingFee = 1.99; let grossPrice = netPrice + shippingFee; console.log(grossPrice);
Выход:
11.98
Если какое-либо значение является строкой, оператор сложения использует следующие правила:
- Если оба значения являются строками, вторая строка объединяется с первой.
- Если одно значение является строкой, оно неявно преобразует числовое значение в строку и объединяет две строки.
Пример: оператор сложения используется для объединения двух строк:
let x = '10', y = '20'; let result = x + y; console.log(result);
Выход:
1020
В следующем примере показано, как использовать оператор сложения для вычисления суммы числа и строки:
let result = 10 + '20'; console.log(result);
Выход:
1020
В этом примере JavaScript преобразует число 10 в строку '10' и объединяет с ней вторую строку '20'.
В следующей таблице показан результат использования оператора сложения со специальными числами:
| Первое значение | Второе значение | Результат | Объяснение |
|---|---|---|---|
| NaN | NaN | Если одно из значений равно NaN, результатом будет NaN | |
| Бесконечность | Бесконечность | Бесконечность | Бесконечность + Бесконечность = Бесконечность |
| -Бесконечность | -Бесконечность | -Бесконечность | -Бесконечность +( -Бесконечность) = — Бесконечность |
| Бесконечность | -Бесконечность | NaN | Бесконечность + -бесконечность = NaN |
| +0 | +0 | +0 | +0 +(+0) = +0 |
| -0 | +0 | +0 | -0 +(+0) = +0 |
| -0 | -0 | -0 | -0 +(-0) = -0 |
Оператор вычитания(-)
Оператор вычитания( - ) вычитает одно число из другого. Например:
let result = 30 - 10; console.log(result); // 20
Если значение является строкой, логическим значением, нулевым значением или неопределенным значением:
- Сначала преобразуйте в число с помощью функции Number().
- Во-вторых, выполните вычитание.
В следующей таблице показано, как использовать оператор вычитания со специальными значениями:
| Первое значение | Второе значение | Результат | Объяснение |
|---|---|---|---|
| NaN | NaN | Если одно из значений равно NaN, результатом будет NaN | |
| Бесконечность | Бесконечность | NaN | Бесконечность – Бесконечность = NaN |
| -Бесконечность | -Бесконечность | NaN | -Бесконечность –(-Бесконечность) = NaN |
| Бесконечность | -Бесконечность | -Бесконечность | -Бесконечность |
| +0 | +0 | +0 | +0 –(+0) = +0 |
| +0 | -0 | -0 | +0 –(-0) = -0 |
| -0 | -0 | +0 | -0 –(-0) = +0 |
Оператор умножения(*)
В JavaScript используется звездочка(*) для обозначения оператора умножения. Оператор умножения умножает два числа и возвращает одно значение. Например:
let result = 2 * 3; console.log(result);
Выход:
6
Если одно из значений не является числом, механизм JavaScript неявно преобразует его в число с помощью функции Number() и выполняет умножение. Например:
let result = '5' * 2; console.log(result);
Выход:
10
В следующей таблице показано, как оператор умножения ведет себя со специальными значениями:
| Первое значение | Второе значение | Результат | Объяснение |
|---|---|---|---|
| NaN | NaN | Если одно из значений равно NaN, результатом будет NaN | |
| Бесконечность | 0 | NaN | Бесконечность * 0 = NaN |
| Бесконечность | Положительное число | Бесконечность | -Бесконечность * 100 = Бесконечность |
| Бесконечность | Отрицательное число | -Бесконечность | Бесконечность *(-100) = -Бесконечность |
| Бесконечность | Бесконечность | Бесконечность | Бесконечность * Бесконечность = Бесконечность |
Оператор деления(/)
Javascript использует символ косой черты( / ) для представления оператора деления. Оператор деления делит первое значение на второе. Например:
let result = 20 / 10; console.log(result); // 2
Если какое-либо значение не является числом, механизм JavaScript преобразует его в число для деления. Например:
let result = '20' / 2; console.log(result); // 10;
В следующей таблице показано поведение операторов деления при применении к специальным значениям:
| Первое значение | Второе значение | Результат | Объяснение |
|---|---|---|---|
| NaN | NaN | Если одно из значений равно NaN, результатом будет NaN | |
| Число | 0 | Бесконечность | 1/0 = бесконечность |
| Бесконечность | Бесконечность | Бесконечность | Бесконечность / Бесконечность = NaN |
| 0 | 0 | NaN | 0/0 = NaN |
| Бесконечность | Положительное число | Бесконечность | Бесконечность / 2 = Бесконечность |
| Бесконечность | Отрицательное число | -Бесконечность | Бесконечность / -2 = — Бесконечность |
Использование арифметических операторов JavaScript с объектами
Если значение является объектом, движок JavaScript вызовет метод valueOf() объекта, чтобы получить значение для вычисления. Например:
let energy = {
valueOf() {
return 100;
},
};
let currentEnergy = energy - 10;
console.log(currentEnergy);
currentEnergy = energy + 100;
console.log(currentEnergy);
currentEnergy = energy / 2;
console.log(currentEnergy);
currentEnergy = energy * 1.5;
console.log(currentEnergy);Выход:
90 200 50 150
Если у объекта нет метода valueOf(), но есть метод toString(), движок JavaScript вызовет метод toString(), чтобы получить значение для вычисления.
Пример:
let energy = {
toString() {
return 50;
},
};
let currentEnergy = energy - 10;
console.log(currentEnergy);
currentEnergy = energy + 100;
console.log(currentEnergy);
currentEnergy = energy / 2;
console.log(currentEnergy);
currentEnergy = energy * 1.5;
console.log(currentEnergy);Выход:
40 150 25 75
Используйте арифметические операторы JavaScript, включая сложение( + ), вычитание( - ), умножение( * ) и деление( / ) для выполнения операций.
