2016-11-11 11 views
-1

二重の感嘆符が正確に何を理解しようとしています。はい、私は多くの答えでthis question,を見ました。だから私は原則として何をしているのか知っていますが、なぜそれを使う必要があるのか​​分かりません。二重の感嘆符を理解する

私が理解するところでは、値をブール値に変換します。それでは、私は次のコードを持っているとしましょう:

var myBool = !!(index === 0 || index > len); 

は、私はちょうど!!を離れることができないと私は同じ結果を取得します:

var myBool = (index === 0 || index > len); 

私は!!を追加することによって何を得るかを?それはすでにブール値ではありませんか?

+0

他の質問で分かりませんでしたか?すでにブール値であれば意味をなさない。 –

+1

同じ結果が得られます。この場合、それは冗長です。 – vlaz

+0

@Barmar、私はそれを閉じて再開しました。 OPが書いたことを読んだことはありますか? –

答えて

5

!!の目的は、あらゆるタイプの真偽値または偽値を対応するブール値に正規化することです。

値が比較演算子の結果のようにブール値であることが既に分かっている場合、その中にはポイントがなく、冗長です。だからあなたが与えた例では役に立たない。

関連する問題