# Основні оператори

## Математичні оператори[​](https://textbook.edu.goit.global/javascript-yk5evp/v2/uk/docs/lesson-01/operators#%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%BD%D1%96-%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B8) <a href="#matematichni-operatori" id="matematichni-operatori"></a>

Ці оператори повністю ідентичні алгебраїчним операціям. Порядок виконання також згідно з математичними правилами. можна користуватися дужками, щоб виокремити, яка операція виконається перша. Повертають результат розрахунку виразу.&#x20;

```javascript
const x = 20;
const y = 5;

// Додавання
console.log(x + y); // 25

// Віднімання
console.log(x - y); // 15

// Множення
console.log(x * y); // 100

// Ділення
console.log(x / y); // 4

// Остача від ділення
console.log(x % y); // 0
```

Математичні операції із заміною. Використовують для скорочення коду. Береться змінна зліва, виконується математична операція із виразом у правій частині від знаку присвоєння і перезаписує значення змінної у лівій частині від знаку присвоєння.

```javascript
let value = 20;

// Аналог запису додавання value = value + 5;
value += 5;
console.log(value); // 25

// Аналог запису віднімання value = value - 5;
value -= 5;
console.log(value); // 15

// Аналог запису множення value = value * 5;
value *= 5;
console.log(value); // 100

// Аналог запису ділення value = value / 5;
value /= 5;
console.log(value); // 4

// Аналог запису остачі від ділення value = value % 5;
value %= 5;
console.log(value); // 0
```

{% hint style="info" %} <mark style="background-color:red;">+ - \* / %</mark> - **оператори**

числа і змінні у виразах - **операнди**&#x20;
{% endhint %}

## Оператори порівняння[​](https://textbook.edu.goit.global/javascript-yk5evp/v2/uk/docs/lesson-01/operators#%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B8-%D0%BF%D0%BE%D1%80%D1%96%D0%B2%D0%BD%D1%8F%D0%BD%D0%BD%D1%8F) <a href="#operatori-porivnyannya" id="operatori-porivnyannya"></a>

Використовують для порівняння двох значень. Як результат виконання повертають булеве значення: <mark style="background-color:red;">true</mark> або <mark style="background-color:red;">false</mark>, тобто «так» або «ні», 1 або 0.

<mark style="background-color:red;">a > b</mark> і <mark style="background-color:red;">a < b</mark> - більше/менше

<mark style="background-color:red;">a >= b</mark> і <mark style="background-color:red;">a <= b</mark> - більше або дорівнює/менше або дорівнює

<mark style="background-color:red;">a == b</mark> - рівність

<mark style="background-color:red;">a != b</mark> - нерівність

<mark style="background-color:red;">a === b</mark> - строга рівність

<mark style="background-color:red;">a !== b</mark> - строга нерівність

```javascript
const x = 5;
const y = 10;
const z = 5;

console.log("x > y:", x > y); // false
console.log("x < y:", x < y); // true
console.log("x < z:", x < z); // false
console.log("x <= z:", x <= z); // true
console.log("x === y:", x === y); // false
console.log("x === z:", x === z); // true
console.log("x !== y:", x !== y); // true
console.log("x !== z:", x !== z); // false
```

## Оператори рівності[​](https://textbook.edu.goit.global/javascript-yk5evp/v2/uk/docs/lesson-01/operators#%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B8-%D1%80%D1%96%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D1%96) <a href="#operatori-rivnosti" id="operatori-rivnosti"></a>

«Нестрогі» оператори рівності <mark style="background-color:red;">==</mark> і <mark style="background-color:red;">!=</mark> виконують перетворення типів порівнюваних значень у число, що може призвести до помилок, особливо у початківців. Так, число (наприклад <mark style="background-color:red;">5</mark>)і його відповідник як рядок (<mark style="background-color:red;">"5"</mark>) будуть сприйматися як одне і те ж значення.

```javascript
// Відбувається приведення типів
console.log(5 == "5"); // true
console.log(5 != "5"); // false
console.log(1 == true); // true
console.log(1 != true); // false
```

Нижче наведена таблиця порівняння значень з використанням операторів нестрогої рівності.

<figure><img src="https://2207544843-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnGZ6aKsaRNTtzzpVD8b0%2Fuploads%2FFUKBsIqqkuMfvT8qmfRf%2Fnot-strict-equality.png?alt=media&#x26;token=2f51dd02-4b7f-49be-85e6-12f6d935db3e" alt=""><figcaption></figcaption></figure>

На практиці для перевірки рівності або нерівності двох значень, використовують тільки оператори <mark style="background-color:red;">===</mark> (строга рівність) і <mark style="background-color:red;">!==</mark> (строга нерівність). Вони не виконують приведення типів операндів. Тобто JavaScript сприйматиме як різні значення <mark style="background-color:red;">5</mark> і <mark style="background-color:red;">"5"</mark>.

```javascript
// Не відбувається приведення типів
console.log(5 === "5"); // false
console.log(5 === 5); // true
console.log(5 !== "5"); // true
console.log(5 !== 5); // false
console.log(1 === true); // false
console.log(1 !== true); // true
```

Нижче наведена таблиця порівняння значень з використанням операторів строгої рівності.

<figure><img src="https://2207544843-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnGZ6aKsaRNTtzzpVD8b0%2Fuploads%2Fht6OLXAeDkZnJcMOjlzB%2Fstrict-equality.png?alt=media&#x26;token=1266a4eb-17a7-4e84-860d-2da1310aad1d" alt=""><figcaption></figcaption></figure>
