---
id: 56533eb9ac21ba0edf2244d0
title: Порівняння з оператором «дорівнює»
challengeType: 1
videoUrl: 'https://scrimba.com/c/cKyVMAL'
forumTopicId: 16784
dashedName: comparison-with-the-equality-operator
---
# --description--
У JavaScript існує багато операторів порівняння. Всі ці оператори повертають логічне значення `true` або `false`.
Основним є оператор «дорівнює» (`==`). Оператор «дорівнює» порівнює два значення та повертає `true`, якщо вони еквівалентні. В іншому випадку він повертає `false`. Зверніть увагу, що рівність відрізняється від присвоєння (`=`), яке присвоює значення праворуч від оператора до змінної зліва.
```js
function equalityTest(myVal) {
if (myVal == 10) {
return "Equal";
}
return "Not Equal";
}
```
Якщо `myVal` дорівнює `10`, то оператор «дорівнює» повертає `true`, тому код у фігурних дужках виконається і функція поверне `Equal`. В іншому випадку функція поверне `Not Equal`. Для того, щоб JavaScript порівняв два різні типи даних (наприклад, `numbers` та `strings`), потрібно конвертувати один тип в інший. Це називається приведенням типів. Після конвертації вони порівнюються наступним чином:
```js
1 == 1 // true
1 == 2 // false
1 == '1' // true
"3" == 3 // true
```
# --instructions--
Додайте оператор «дорівнює» до зазначеного рядка, щоб функція повернула рядок `Equal`, якщо `val` дорівнює `12`.
# --hints--
`testEqual(10)` повинен повертати рядок `Not Equal`
```js
assert(testEqual(10) === 'Not Equal');
```
`testEqual(12)` повинен повертати рядок `Equal`
```js
assert(testEqual(12) === 'Equal');
```
`testEqual("12")` повинен повертати рядок `Equal`
```js
assert(testEqual('12') === 'Equal');
```
Ви повинні використати оператор `==`
```js
assert(code.match(/==/g) && !code.match(/===/g));
```
# --seed--
## --seed-contents--
```js
// Setup
function testEqual(val) {
if (val) { // Change this line
return "Equal";
}
return "Not Equal";
}
testEqual(10);
```
# --solutions--
```js
function testEqual(val) {
if (val == 12) {
return "Equal";
}
return "Not Equal";
}
```