Files
freeCodeCamp/guide/russian/javascript/arithmetic-operation/index.md

129 lines
4.5 KiB
Markdown
Raw Normal View History

2018-10-12 16:00:59 -04:00
---
title: Arithmetic Operation
localeTitle: Арифметическая операция
---
В JavaScript существует пять арифметических операторов: `+` , `-` , `*` , `/` и `%` . Операторы сложения, вычитания, умножения, деления и остаток от деления соответственно.
2018-10-12 16:00:59 -04:00
## Сложение
2018-10-12 16:00:59 -04:00
**Синтаксис**
`a + b`
**Использование**
2018-10-12 16:00:59 -04:00
```
2 + 3 // возвращает 5
true + 2 // интерпретирует true как 1 и возвращает 3
false + 5 // интерпретирует false как 0 и возвращает 5
true + "bar" // конкатенирует (объединяет) значение boolean и возвращает строку "truebar"
5 + "foo" // конкатенирует строку и число и возвращает строку "5foo"
"foo" + "bar" // конкатенирует строки и возвращает строку "foobar"
2018-10-12 16:00:59 -04:00
```
одсказка:_ оператор [инкремент](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Increment_() ), который используется как удобный шорткат, чтобы увеличенить число на 1.
2018-10-12 16:00:59 -04:00
## Вычитание
**Синтаксис**
`a - b`
**Использование**
2018-10-12 16:00:59 -04:00
```
2 - 3 // возвращает -1
3 - 2 // возвращает 1
false - 5 // интерпретирует false как 0 и возвращает -5
true + 3 // интерпретирует true как 1 и возвращает 4
5 + "foo" // возвращает NaN (Not a Number)
2018-10-12 16:00:59 -04:00
```
одсказка:_ также есть удобный оператор [декремент](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Decrement_(--) ), который используется как удобный шорткат, когда нужно уменьшить число на 1.
2018-10-12 16:00:59 -04:00
## Умножение
2018-10-12 16:00:59 -04:00
**Синтаксис**
`a * b`
**Использование**
2018-10-12 16:00:59 -04:00
```
2 * 3 // возвращает 6
3 * -2 // возвращает -6
false * 5 // интерпретирует false как 0 и возвращает 0
true * 3 // интерпретирует true как 1 и возвращает 3
5 * "foo" // возвращает NaN (Not a Number)
Infinity * 0 // возвращает NaN
Infinity * Infinity // возвращает Infinity
2018-10-12 16:00:59 -04:00
```
## Деление
2018-10-12 16:00:59 -04:00
**Синтаксис**
`a / b`
**Использование**
2018-10-12 16:00:59 -04:00
```
3 / 2 // возвращает 1.5
3.0 / 2/0 // возвращает 1.5
3 / 0 // возвращает Infinity
3.0 / 0.0 // возвращает Infinity
-3 / 0 // возвращает -Infinity
false / 5 // интерпретирует false как 0 и возвращает 0
true / 2 // интерпретирует true как 1 и возвращает 0.5
5 + "foo" // возвращает NaN (Not a Number)
Infinity / Infinity // возвращает NaN
2018-10-12 16:00:59 -04:00
```
## Остаток от деления
2018-10-12 16:00:59 -04:00
**Синтаксис**
`a % b`
**Использование**
2018-10-12 16:00:59 -04:00
```
3 % 2 // возвращает 1
true % 5 // интерпретирует true как 1 и возвращает 1
false % 4 // интерпретирует false как 0 и возвращает 0
3 % "bar" // возвращает NaN
2018-10-12 16:00:59 -04:00
```
## Инкремент
2018-10-12 16:00:59 -04:00
**Синтаксис**
`a++ или ++a`
2018-10-12 16:00:59 -04:00
**Использование**
2018-10-12 16:00:59 -04:00
```
// как постфикс
x = 3; // объявление переменной
2018-10-12 16:00:59 -04:00
y = x++; // y = 4, x = 3
// как префикс
2018-10-12 16:00:59 -04:00
var a = 2;
b = ++a; // a = 3, b = 3
```
## Декремент
2018-10-12 16:00:59 -04:00
**Синтаксис**
`a-- или --a`
2018-10-12 16:00:59 -04:00
**Использование**
2018-10-12 16:00:59 -04:00
```
// как постфикс
x = 3; // объявление переменной
2018-10-12 16:00:59 -04:00
y = x--; // y = 3, x = 3
// как префикс
2018-10-12 16:00:59 -04:00
var a = 2;
b = --a; // a = 1, b = 1
```
_!Важно!_ Как вы, наверное, заметили, вы **не можете** выполнять какие-либо операции с `Infinity` .
2018-10-12 16:00:59 -04:00
Источник: замечательный [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators) .