Я тестировал оператор запятой JavaScript и запутался в следующем поведении: < /p>
function A() {
return '1','2' == '1';
}
function B() {
return '1','2' == '2';
}
console.log(A() && B()); // Output: false
const x = ('1','2' == '1' && '1','2' == '2');
console.log(x); // Output: true< /code>
< /div>
< /div>
< /p>
Я ожидал, что оба выражения будут вести себя одинаково, но: < /p>
a () && b () возвращает ложно. Оператор запятой оценивает как выражения, так и возвращает последний, но я не уверен, как он взаимодействует с оператором == в этих случаях.
Это о приоритете оператора или порядок оценки? < /p>
Спасибо за помощь! < /p>
Подробнее здесь: https://stackoverflow.com/questions/796 ... nt-results