Почему 3> 2> 1 возвращает false, а 1 <2 <3 возвращает true?

Почему 3>2>1 возвращает false а 1 < 2 < 3 возвращает true?

console.log(1 < 2 < 3);
console.log(3 > 2 > 1);

Ответ 1

Поскольку 1 < 2 оценивается как true а 3 > 2 - true, вы в основном делаете:

console.log(true < 3);
console.log(true > 1);

Ответ 2

Потому что он интерпретирует слева направо и потому, что он пытается использовать тот же тип.

1 < 2 < 3 становится true < 3, что, поскольку мы сравниваем числа, бросается в 1 < 3 что является истиной.

3 > 2 > 1 становится true > 1, что, поскольку мы сравниваем числа, бросается в 1 > 1 что является ложным.

Ответ 3

Это потому, что оно оценивается слева направо, что эквивалентно приведенным ниже командам:

console.log(true < 3);
console.log(true > 1);

Ответ 4

Оператор "<" и ">" Ассоциативность слева направо

Проверьте ниже ссылку https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence

console.log(1 <2 <3) ==> console.log(true <3) ==> (true означает 1) => console.log(1 <3); Ответ верен

console.log(3> 2> 1) ==> console.log(true> 1) ==> (true означает 1) => console.log(1> 1); Ответ неверен

console.log(3> 2> = 1) ==> console.log(true> = 1) ==> (true означает 1) => console.log(1 = 1); Ответ верен

Ответ 5

Компилятор будет читать как этот $console.log((1 < 2) < 3) и $ console.log(( 3>2 ) > 1)

в первом случае: $ console.log(1 < 2 < 3) первый компилятор выполняет 1 <2, который возвращает 1 (true), после чего он выглядит как 1 <3, который снова равен 1 (true). следовательно, в целом это правда.

выполните вторую с той же логикой, это даст вам ложь.