Вы не можете иметь "несколько условий" в операторе if.Оператор if должен иметь ровно одно условие.Это условие может быть комбинацией условий, но, с точки зрения оператора if, это только одно условие.
Это означает, что нет ничего особенного в том, как оценивается условие внутри оператора if.Он оценивается так же, как если бы он выполнялся где-либо еще.
Это сводится к двум различным концепциям: ассоциативность оператора и короткое замыкание.
ассоциативность
Логические операторы слева направо ассоциативны.Это означает, что cond1 && cond2
будет оценивать cond1
, прежде чем он оценит cond2
.
Короткое замыкание
Короткое замыкание означает, что если cond1
ложно, тоcond2
никогда не будет оцениваться в выражении cond1 && cond2
.То же самое происходит, если cond1
истинно в выражении cond1 || cond2