jsfiddle.net で遊んでいたのですが、なぜこれが true を返すのか気になります。
if(0 < 5 < 3) {
alert("True");
}
以下も同様です:
if(0 < 5 < 2) {
alert("True");
}
しかし、これは当てはまりません:
if(0 < 5 < 1) {
alert("True");
}
この癖は役に立つのでしょうか?
ベストアンサー1
演算の順序により、JavaScriptでは(0 < 5 < 3)
と解釈され、 true は 1 としてカウントされ、 true が返されます。((0 < 5) < 3)
(true < 3)
(0 < 5 < 1)
これは、 が false を返し、(0 < 5)
が true を返す理由でもあります。これは と解釈され1
、結果として になります(1 < 1)
。