Порівняння та логічні оператори
=== і !== — як порівнювати значення; && і || — як поєднувати умови
= і === — не одне й те саме
Найпоширеніша помилка новачків: плутати = і ===. = (один знак рівності) — це ПРИСВОЄННЯ: поклади значення в змінну. === (три знаки рівності, читається 'суворе рівно') — це ПОРІВНЯННЯ: перевір, чи рівні два значення. Результат === завжди true або false — більше нічого.
Три знаки = — це не опечатка
В JavaScript є три рівності і вони різні:
- = (одне) — присвоєння: записати значення у змінну
- == (два) — нестроге порівняння: порівнює значення, але конвертує типи
- === (три) — строге порівняння: порівнює і значення, і тип
Також є два «не рівно»:
- != (одне) — нестроге «не рівно», конвертує типи
- !== (два) — строге «не рівно», безпечне
Правило: завжди використовуй === і !==. Ніколи == і != — вони дають несподівані результати.
Всі оператори порівняння
Всі повертають true або false:
| Оператор | Читається | Приклад | Результат |
|---|---|---|---|
| === | суворе рівно | 5 === 5 | true |
| !== | суворе не рівно | 5 !== 3 | true |
| > | більше | 10 > 3 | true |
| < | менше | 2 < 1 | false |
| >= | більше або рівно | 5 >= 5 | true |
| <= | менше або рівно | 4 <= 3 | false |
Чому === а не ==? Подивись на приклад: "5" == 5 дає true — JS вирішив що рядок і число однакові. "5" === 5 дає false — правильно, адже це різні типи.
=== перевіряє і значення, і тип — ніяких сюрпризів.
Логічні оператори
Дозволяють поєднувати кілька умов:
| Оператор | Значення | Приклад | Результат |
|---|---|---|---|
&& | І (AND) — обидві умови | age >= 18 && age < 65 | true |
|| | АБО (OR) — хоча б одна | age < 18 || age > 65 | false |
! | НЕ (NOT) — інвертує | !true | false |
Правило &&: результат true тільки якщо ОБИ умови true.
Правило ||: результат true якщо хоча б ОДНА умова true.
Логічні оператори — серце будь-якої умови в коді.
Запам'ятай порядок: спочатку ! (НЕ), потім && (І), потім || (АБО). Як в математиці: спочатку множення, потім додавання. Дужки завжди допомагають зробити код зрозумілішим.