JavaScript Essentials

Урок 03 · 11 хв

Умови й порівняння

Половина багів тут — не в if, а в тому, як JS порівнює значення.

Код має розгалужуватися: дати знижку на велике замовлення, показати заглушку, якщо даних немає. Інструмент — if. Складність не в ньому, а в тому, що вважається рівним і що вважається істиною.

if / else if / else
AI

Можна спитати про це правило«Завжди ===»

== проти ===
AI

Можна спитати про цей пункт«Суть уроку»

Truthy і falsy

В if потрапляє не лише true. Будь-яке значення зводиться до булевого, і falsy-значень усього вісім — усе інше істинне. Список варто запам'ятати повністю, він короткий: Falsy.

  • Falsy: false, 0, -0, 0n, "", null, undefined, NaN.
  • Усе інше truthy — зокрема "0", "false", [] і {}.
  • if (items.length) — нормально: нуль елементів дасть falsy.
  • if (count) небезпечно, якщо 0 — валідне значення. Пиши if (count !== undefined).
Порожній масив істинний
AI

Можна спитати про цей пункт«Truthy і falsy»

Короткий запис

Тернарний оператор

Тернарник повертає значення, тому його зручно класти просто в const або в шаблонний рядок. Щойно гілок стало більше двох — повертайся до if або switch.

&&, || і ??
AI

Можна спитати про це правило«|| для «порожньо», ?? для «немає значення»»

AI

Можна спитати про цей пункт«Короткий запис»

Перевірка

Закріпи, поки не пішов далі

  1. 1. Чому дорівнює "" == 0?

  2. 2. Що дасть if ([])?

  3. 3. Чому дорівнює 0 ?? 10?

  4. 4. user.profile дорівнює null. Що поверне user.profile?.city?