ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript_javascript スキルにおける二重感嘆符 (!!) の役割の例

JavaScript_javascript スキルにおける二重感嘆符 (!!) の役割の例

WBOY
リリース: 2016-05-16 16:53:02
オリジナル
1069 人が閲覧しました

次のような例をよく見かけます。

コードをコピー コードは次のとおりです:

var a;
var b=!!a;

a のデフォルトは未定義です。 !a は true、!!a は false であるため、b の値は、主に後続の判断を容易にするために、未定義または他の値ではなく false になります。

!! 通常、次の式をブール型データ (ブール値) にするために使用されます。つまり、true または false のみを指定できます。
JavaScript は弱い型付けの言語であるため (変数は固定データではありません)。
コードをコピー コードは次のとおりです。

a=parseInt(“1234″)
a=”1234″-0 //数値に変換
b=1234 ”” //文字列に変換
c= someObject. toString() // オブジェクトを文字列に変換します

最初と 4 番目のタイプは明示的な変換であり、2 番目と 3 番目のタイプは暗黙的な変換です

ブール変換JavaScript の規約ルールは次のとおりです。

false、未定義、null、0、"" は false、
true、1、"somestring"、[Object] は true

(null および未定義の場合) など他の暗黙的に変換された値については、! 演算子を使用すると true の結果が生成されるため、2 つの感嘆符を使用する目的は、これらの値を「同等の」ブール値に変換することです。
もう一度見てみましょう。 >
コードをコピーします コードは次のとおりです。
var foo; ;// 未定義の場合、感嘆符は true を返します。
alert(!goo);// null の場合、感嘆符も true を返します。
var o={flag:true}; 🎜>var test =!!o.flag;//var test=o.flag||false;
alert(test);


この例は、 uniffed および null の場合を示します。 1 つの感嘆符を使用すると true が返され、2 つの感嘆符を使用すると false が返されるため、2 つの感嘆符の役割は、変数の値が明示的に設定されている場合 (null/unified/0/"" などではない)、 result 変数の実際の値に基づいて返されます。設定されていない場合、結果は false になります。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート