Динамическая типизация. Условия и ветвления
Динамическая типизация означает, что тип живёт в значении, а не в переменной: в одну и ту же переменную можно положить строку, потом число, и JavaScript не возразит. Отсюда и главная ловушка новичка — неявное приведение типов.
== сравнивает после приведения, === — без него. В рабочем коде используем строгое сравнение, иначе 0 == '' вернёт true и логика поедет.
Пустая строка, 0, null, undefined и NaN — ложные значения. Всё остальное в условии истинно, включая пустой массив.
Что проверить перед сдачей
Везде используется ===, условия читаются сверху вниз без лишней вложенности, а вместо длинной лестницы else if там, где уместно, стоит switch.
Калькулятор скидки на условиях
Напиши функцию, которая по сумме заказа и статусу клиента считает финальную цену: три уровня скидки, проверка на некорректный ввод, строгие сравнения. Залей на GitHub и пришли ссылку — куратор прочитает код и пришлёт разбор.