2016-10-18 4 views
0

私は比較のために!!演算子を使っていたjavascriptプログラムに出くわしました。私は!NOT EQUALを表していることを知っています。論理的には!!NOT OF NOT EQUALを意味し、EQUALです。いつ、なぜあなたは使っているのですか? JavaScriptで?

if (!!var_1){ 
    //... 
} 

私の質問は、なぜ人々は時々!!なく==演算子を使うのですか?

私は似たような質問を読んだことがありますが、正確にこれをいつ使うのか分かりませんでした。

+0

'論理的には!! NOT NOT EQUAL'を意味します.' ...いいえ、NOT NOT ...は真理値を 'true'とfalse'値に' false'に基本的に強制します。 –

+0

[Logical Not](https://developer.mozilla.org/en -US/docs/Web/JavaScript /リファレンス/演算子/ Logical_Operators#Logical_NOT_(!)) – Tushar

+0

!!その値をブール代数 – gurvinder372

答えて

2

!!は演算子ではなく、!演算子の2倍です。

!oObject //Inverted boolean 
!!oObject //Non inverted boolean so true boolean representation 

いくつかの出力例:あなたが見

alert(true); // Gives true 
alert(!true); // Gives false 
alert(!!true); // Gives true 
alert(!!!true); // Gives false 

alert(false); // Gives false 
alert(!false); // Gives true 
alert(!!false); // Gives false 
alert(!!!false); // Gives true 

、一つの "!"ちょうど変化は虚偽から真実まで、またはそれ以外の方法で行われます。 2つ以上の "!"を使用すると、プロセスは単純にその値を繰り返して変更しています。

+0

多くの人が単にBoolean()のショートカットとして使うということを追加することはできますが、空の配列の振る舞いにはいくつかの違いがあります – AntK

関連する問題