Добрый день.
Вот такой пример: console.log( 5 === 5 && 3 > 1 || 5);
ответ True.
первым действием идет 3 > 1 (true)
2) 5 === 5 (true)
3) 5 === 5 && 3 > 1 (true)
4) 5 === 5 && 3 > 1 || 5 (оператор или возвращает последнюю правду, а по факту дает True, а не 5. Ведь 5 в этом контексте тоже true)
Потому что || - это ленивая операция и приоритет у неё ниже, чем у &&.
=> Сначала будет вычислено выражение 5 === 5 && 3 > 1, которое имеет значение true
А раз оно true, то и правую часть 5 вычислять не нужно.