1. ホーム
  2. javascript

[解決済み] なぜ(0 < 5 < 3)はtrueを返すのですか?

2022-03-16 10:52:53

質問

jsfiddle.netで遊んでいたのですが、なぜこれがtrueを返すのか気になりますね?

if(0 < 5 < 3) {
    alert("True");
}

これもそうですね。

if(0 < 5 < 2) {
    alert("True");
}

しかし、これでは

if(0 < 5 < 1) {
    alert("True");
}

このクセは役に立つのか?

解決方法は?

操作の順序の原因 (0 < 5 < 3) は、javascriptでは次のように解釈されます。 ((0 < 5) < 3) を生成します。 (true < 3) となり、trueが1としてカウントされ、trueを返すようになります。

また、このため (0 < 5 < 1) は偽を返します。 (0 < 5) は真を返すので、次のように解釈されます。 1 であり、結果として (1 < 1) .