2016-08-09 21 views
-4

私はアルゴリズムチャレンジのコードを書いていましたが、何らかの理由でうまく動作していないようです。私は、何かのようなものを書いていたことを理解しました。JavaScriptでNOT演算子(!)が動作しないのはなぜですか?

var repeat = false; 
if (!repeat){ 
    counter++; 
} 

これはうまくいきませんでした。私がコードを変更したとき、

var repeat = false; 
if (repeat == false){ 
    counter++; 
} 

それは働いた。どうしてこれなの? '!repeat'は自動的に 'repeat == false'を意味しませんか?

+0

両方のケースでは私のために正常に動作します - いや。それは "否定反復"を意味します。比較演算子を意味するものではありません。 –

+0

@SergioTulentsev 'が!falseはtrueと等しいため?それはどのように質問に関連していますか? – freakish

+0

OP:両方のスニペットがまったく同じように動作します。 – freakish

答えて

0

それは "自動的に '繰り返し==偽' を意味するものではありません '繰り返す!'"

var repeat = false; 
var counter = 0; 

if (!repeat){ 
    counter++; 
} 

console.log('Counter', counter); 

if (repeat == false){ 
    counter++; 
} 

console.log('Counter', counter); 

Example Here

関連する問題