Задать вопрос
Lebed_Sergey
@Lebed_Sergey

Почему возвращается true а не 5?

Добрый день.
Вот такой пример: 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)
  • Вопрос задан
  • 148 просмотров
Подписаться 1 Простой Комментировать
Решение пользователя Василий Банников К ответам на вопрос (5)
Потому что || - это ленивая операция и приоритет у неё ниже, чем у &&.
=> Сначала будет вычислено выражение 5 === 5 && 3 > 1, которое имеет значение true
А раз оно true, то и правую часть 5 вычислять не нужно.
Ответ написан
Комментировать