
Баг: Забываешь, что `!` имеет высокий приоритет
Приоритет операций (от высшего к низшему):
!(НЕ)&&(И)||(ИЛИ)
// ❌ ОШИБКА (смысловая - ты хотел другое)
hasTicket := false
canClimb := true
// Ты думаешь: "НЕ (hasTicket ИЛИ canClimb)"
wrong := !hasTicket || canClimb // На самом деле: (!hasTicket) || canClimb
// Вычисляется: (!false) || true = true || true = true
// ✅ ПРАВИЛЬНО (нужны скобки)
right := !(hasTicket || canClimb) // !(false || true) = !true = falseПравило: Если сомневаешься - ставь скобки. Они не ломают производительность, зато читаемость повышают.
Загрузка...