3

私はjavascriptで遊んでいますが、-1より大きいすべての値をtrueに評価し、-1以下のすべての値をfalseに評価できるかどうか疑問に思っていますか?

現時点1 == trueでは、次のように記述すると、他のすべてが false になります。

var i = 0;
if (i) {...} // I want this to be true

i = 1;
if (i) {...} // This is the only thing that is true

編集: 評価とは、比較を実行しないことを意味し0 > -1ます。JavaScript で数値をブール値に変換したいと考えています。

4

2 に答える 2

1

これのことですか?

if ( i > -1 ) {
    ....
}
于 2013-11-08T14:36:01.903 に答える
1

==いいえ、これを変更することはできません。これは、JavaScript演算子が型間で値を強制する方法に組み込まれているためです。

オペランドの 1 つがブール値 (または) で、もう 1 つが数値である緩やかな等価式( ) がある場合、JavaScript エンジンはブール値を数値に変換しようとし、結果を比較します。数値に変換しようとすると に変換されるため、.==truefalsetrue11 == true

于 2013-11-08T14:39:07.597 に答える