Динамическая типизация. Условия и ветвления

Урок 3 30 минут Видео + практика с проверкой

Динамическая типизация означает, что тип живёт в значении, а не в переменной: в одну и ту же переменную можно положить строку, потом число, и JavaScript не возразит. Отсюда и главная ловушка новичка — неявное приведение типов.

== сравнивает после приведения, === — без него. В рабочем коде используем строгое сравнение, иначе 0 == '' вернёт true и логика поедет.

// тип принадлежит значению, а не переменной let x = 5; x = 'теперь строка'; // нестрогое сравнение приводит типы, строгое — нет 0 == ''; // true 0 === ''; // false if (age >= 18 && hasTicket) { pass(); } else { reject(); }

Пустая строка, 0, null, undefined и NaN — ложные значения. Всё остальное в условии истинно, включая пустой массив.

Что проверить перед сдачей

Везде используется ===, условия читаются сверху вниз без лишней вложенности, а вместо длинной лестницы else if там, где уместно, стоит switch.

★ Домашнее задание ещё не сдано

Калькулятор скидки на условиях

Напиши функцию, которая по сумме заказа и статусу клиента считает финальную цену: три уровня скидки, проверка на некорректный ввод, строгие сравнения. Залей на GitHub и пришли ссылку — куратор прочитает код и пришлёт разбор.

⏳ Дедлайн недели — суббота, 23:59 МСК. Успей, чтобы не потерять жизнь.
💬 Чат с куратором