JSの中のことを話してください

1392 ワード

!後の表現をブール型のデータに強制的に変換するのに使われます。つまりtrueまたはfalseだけです。

var a;
var b=!!a;
aデフォルトはundefinedです。aはtrueですaはfalseであるため、bの値はfalseであり、undefinedではなく、他の値でもなく、主に後続の判断に便宜を与える。
javascriptは弱いタイプの言語であるため、強制的に該当するタイプに変換する必要があります。

a=parseInt(“1234″)
a=”1234″-0 //     
b=1234+”” //      
c=someObject.toString() //         
このうち第1種、第4種は顕式変換、2、3は陰式変換である。
ブール型の転換、javascriptの規定は
false、undefinded、null、0、」はfalseです。
true、1、「somestring」、「Object」はtrueです。
nullやundefinedなど他に暗黙的に変換した値に対して、使います。オペレータはtrueの結果を生むので、二つの感嘆符の役割はこれらの値を「等価」のブール値に変換することです。

var foo;
alert(!foo);//undifined   ,         true;
alert(!goo);//null   ,          true;
var o={flag:true};
var test=!!o.flag;//   var test=o.flag||false;
alert(test);
この例では、undifinedとnullの場合、一つの感嘆符で返したのはtrueで、二つの感嘆符で返したのはfalseです。二つの感嘆符の役割は、変数の値(null/undifined/0/)「等値」が明確に設定されていると、変数の実際値によって戻ります。
JSの中の“!!”

var o={flag:true}; 
 var test=!!o.flag;//   var test=o.flag||false; alert(test);
nullとundefinedに使うので!操作時にtrueの結果が発生します。
二つの感嘆符の役割は、
o中フラグの値(null/undefined/0'/等値ではない)を明確に設定したら、自然testはo.flagsと同じ値を取ります。
設定していない場合、testはnullまたはundefinedではなくfalseとしてデフォルトになります。
締め括りをつける
以上述べたのは小编でご绍介したJSの中のです!皆さんのご協力をお願いします。もし何か質問があれば、メッセージをください。ここでも私たちのサイトを応援してくれてありがとうございます。