6
(0 <= 0 <= 0) === false
(-1 < 0 <= 0 <= 0) === true

何が起きてる?Javascript には、場合によっては間違った不等式連鎖が実際にありますか?

4

2 に答える 2

8

質問を入力すると、答えに驚かされました。Javascript には不等式連鎖はありません。むしろ、0 <= 0 <= 0となりtrue <= 0、 として評価され1 <= 0ます。確かに、 に0 < 0 <= 0評価されtrueます。

于 2013-03-17T20:52:41.850 に答える
6

演算子の連鎖はありませんが、優先順位があります。ここでは、すべての演算子の優先度が同じであるため、操作は左から右に実行されます。

比較にブール値が含まれる場合、MDN は比較がどのように機能するかを説明します

オペランドの 1 つがブール値の場合、ブール値オペランドは、真の場合は 1 に変換され、偽の場合は +0 に変換されます。

これは、最初の操作が優先順位に従って次のように分解されることを意味します。

((0 <= 0) <= 0)

これは

true <= false

これは

false

そして2つ目は

(true <= 0) <= 0

これは

false <= 0 

ですtrue

于 2013-03-17T20:55:24.827 に答える