Сообщение от j0hnik
|
правая часть от && будет выполняться только в случае если левая вернет true
|
Спасибо вам большое!Я понял!Здесь оператор
&& использует короткий цикл вычисления, который вычисляет операнды слева направо до первого ложного, а если все истинные, то последнее значение!Поэтому так как левая часть тут равна true, то запустится вычисление второго аргумента, которое тоже равно true!Оно и вернется!
Как например:
var x;
true && (x = 1);
alert(x); // 1
А если первый аргумент false, то вычисление второго аргумента не произойдет:
var x;
false && (x = 1);
alert(x); // undefined
Смутило пояснение автора данной книги: "У || приоритет ниже всех, потом идет &&, потом операторы сравнения, потом все остальное!"
Получается интерпретатор анализирую выражение с оператором && и ||
начинает вычисление с левого аргумента.