2017-11-16 5 views
0

angularjsのスコープ変数の前に(!)を使用するのはどういう意味ですか? ng-show = "!! file"私はangularjs NG-ディレクティブからを使用しています! (?)記号を表すもの

+0

それは何でも大丈夫ブール値 –

+0

に変換する方法です。私はシングルを使用できますか?記号 – N15

+0

もちろん、あなたは –

答えて

1

!!は、値を明示的なブール値に変換するための略語として使用されています。

fileが「真実」の場合、!!filetrueになります。 「偽」の場合、!!filefalseになります。

var nonEmptyString = "nonempty string"; 
 
var emptyString = ""; 
 

 
console.log(!!nonEmptyString); 
 
console.log(!!emptyString);

ng-showは、値が「truthy」または「falsy」であるかどうかをチェックするの世話をしますので、あなたの例で!!の使用は余分なと無意味です。

+1

今、私は使用について明確化しました!シンボル – N15

1

でこのシンボルを使用する場合は何を示します:JavaScriptでhttps://developer.mozilla.org/en-US/docs/Glossary/Truthy

、truthy値はブールコンテキストで評価する場合、真とみなされる値です。すべての値は、仮説として定義されていない限り真偽です(つまり、false、0、 ""、null、未定義、およびNaNを除く)。

!真偽値を偽のブール値に変更し、偽の値を真のブール値に変更するという効果があります。変数を強打すると、基本的には真実/虚偽の振る舞いに基づいて、真のの真のブール値に変換されます。これは一般的には良い方法ですが、完全には必要ではありません。

+0

Woops、私は "真の"ブール変数を暗示したことを意味した。それを反映する答えを更新しました。 – Andrew

0

!逆ブールと!! double reverse Boolean、Click

0

var nonEmptyString = "nonempty string"; 
 
var emptyString = ""; 
 

 
console.log(!!nonEmptyString); 
 
console.log(!!emptyString);

関連する問題