Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «== проти ===». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)**`==`** виконує нестроге порівняння - перетворює типи операндів перед порівнянням, тоді як **`===`** виконує строге порівняння без перетворення типів: операнди мають бути однакового типу і значення. **Ключове:** Завжди варто використовувати `===` (і `!==`), якщо немає особливої причини для нестрогого порівняння - це робить код передбачуваним і зменшує кількість багів.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення### `==` - нестроге (абстрактне) порівняння `==` **перетворює типи** операндів перед порівнянням. Тобто JavaScript намагається «вгадати», чи рівні значення **після приведення типів**. **Приклади:** ```javascript 5 == '5' // true → рядок '5' перетворюється на число 5 0 == false // true → false приводиться до 0 null == undefined // true → це єдиний випадок, коли вони рівні ' ' == 0 // true → порожній рядок перетворюється на 0 ``` > Небезпека: через неявні перетворення часто трапляються помилки, особливо при перевірці користувацького вводу або даних з API. --- ### `===` - строге порівняння `===` **не виконує перетворення типів**. Операнди мають бути **однакового типу і значення**, щоб результат був `true`. **Приклади:** ```javascript 5 === '5' // false → різні типи (число і рядок) 0 === false // false → різні типи null === undefined // false → різні типи 5 === 5 // true → однакове значення і тип ``` ### Підсумок: коли що використовувати **Рекомендація:** Завжди використовуй `===` (і `!==`), якщо немає особливої причини застосовувати нестроге порівняння. Це робить код передбачуваним і зменшує кількість багів.Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.