129 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			129 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						||
title: Arithmetic Operation
 | 
						||
localeTitle: Арифметическая операция
 | 
						||
---
 | 
						||
В JavaScript существует пять арифметических операторов: `+` , `-` , `*` , `/` и `%` . Операторы сложения, вычитания, умножения, деления и остаток от деления соответственно.
 | 
						||
 | 
						||
## Сложение
 | 
						||
 | 
						||
**Синтаксис**
 | 
						||
 | 
						||
`a + b`
 | 
						||
 | 
						||
**Использование**
 | 
						||
```
 | 
						||
 2 + 3          // возвращает 5 
 | 
						||
 true + 2       // интерпретирует true как 1 и возвращает 3 
 | 
						||
 false + 5      // интерпретирует false как 0 и возвращает 5 
 | 
						||
 true + "bar"   // конкатенирует (объединяет) значение boolean и возвращает строку "truebar" 
 | 
						||
 5 + "foo"      // конкатенирует строку и число и возвращает строку "5foo" 
 | 
						||
 "foo" + "bar"  // конкатенирует строки и возвращает строку "foobar" 
 | 
						||
```
 | 
						||
 | 
						||
_Подсказка:_ оператор [инкремент](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Increment_() ), который используется как удобный шорткат, чтобы увеличенить число на 1.
 | 
						||
 | 
						||
## Вычитание
 | 
						||
 | 
						||
**Синтаксис**
 | 
						||
 | 
						||
`a - b`
 | 
						||
 | 
						||
**Использование**
 | 
						||
```
 | 
						||
 2 - 3      // возвращает -1 
 | 
						||
 3 - 2      // возвращает 1 
 | 
						||
 false - 5  // интерпретирует false как 0 и возвращает -5 
 | 
						||
 true + 3   // интерпретирует true как 1 и возвращает 4 
 | 
						||
 5 + "foo"  // возвращает NaN (Not a Number) 
 | 
						||
```
 | 
						||
 | 
						||
_Подсказка:_ также есть удобный оператор [декремент](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Decrement_(--) ), который используется как удобный шорткат, когда нужно уменьшить число на 1.
 | 
						||
 | 
						||
## Умножение
 | 
						||
 | 
						||
**Синтаксис**
 | 
						||
 | 
						||
`a * b`
 | 
						||
 | 
						||
**Использование**
 | 
						||
```
 | 
						||
 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 
 | 
						||
```
 | 
						||
 | 
						||
## Деление
 | 
						||
 | 
						||
**Синтаксис**
 | 
						||
 | 
						||
`a / b`
 | 
						||
 | 
						||
**Использование**
 | 
						||
```
 | 
						||
 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 
 | 
						||
```
 | 
						||
 | 
						||
## Остаток от деления
 | 
						||
 | 
						||
**Синтаксис**
 | 
						||
 | 
						||
`a % b`
 | 
						||
 | 
						||
**Использование**
 | 
						||
```
 | 
						||
 3 % 2          // возвращает 1 
 | 
						||
 true % 5       // интерпретирует true как 1 и возвращает 1 
 | 
						||
 false % 4      // интерпретирует false как 0 и возвращает 0 
 | 
						||
 3 % "bar"      // возвращает NaN 
 | 
						||
```
 | 
						||
 | 
						||
## Инкремент
 | 
						||
 | 
						||
**Синтаксис**
 | 
						||
 | 
						||
`a++ или ++a`
 | 
						||
 | 
						||
**Использование**
 | 
						||
```
 | 
						||
// как постфикс 
 | 
						||
 x = 3;  // объявление переменной 
 | 
						||
 y = x++;        // y = 4, x = 3 
 | 
						||
 
 | 
						||
 // как префикс
 | 
						||
 var a = 2; 
 | 
						||
 b = ++a; // a = 3, b = 3 
 | 
						||
```
 | 
						||
 | 
						||
## Декремент
 | 
						||
 | 
						||
**Синтаксис**
 | 
						||
 | 
						||
`a-- или --a`
 | 
						||
 | 
						||
**Использование**
 | 
						||
```
 | 
						||
// как постфикс 
 | 
						||
 x = 3;  // объявление переменной 
 | 
						||
 y = x--;        // y = 3, x = 3 
 | 
						||
 
 | 
						||
 // как префикс 
 | 
						||
 var a = 2; 
 | 
						||
 b = --a; // a = 1, b = 1 
 | 
						||
```
 | 
						||
 | 
						||
_!Важно!_ Как вы, наверное, заметили, вы **не можете** выполнять какие-либо операции с `Infinity` .
 | 
						||
 | 
						||
Источник: замечательный [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators) .
 |