Короткое замыкание означает, что следующая часть выражения не оценивается, только если результат уже ясен.Если часть до &&
равна true
, то результатом все равно могут быть false
и true
, а следующая часть имеет для оценки.
Случаи:
1. true && true => true
2. true && false => false
3. false && false => false
4. false && true => false
И после вычисления левого операнда имеем:
true && ??
, который может заканчиваться в случае 1 или 2, которые имеют разные результаты.
Нас другой стороны, если бы у нас было:
false && ??
Тогда результатом будет либо случай 3, либо 4, которые оба равны false
, и выражение будет закорочено.