Почему этот пример оператора оператора JavaScript возвращает разные результаты?Javascript

Форум по Javascript
Ответить
Anonymous
 Почему этот пример оператора оператора JavaScript возвращает разные результаты?

Сообщение Anonymous »

Я тестировал оператор запятой 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»