Javascript中!!(感嘆符2つ、感嘆符2つ)の意味
5117 ワード
JavaScriptタイプ変換
JavaScriptは弱いタイプの言語であることは知っていますが、使用中に強制的に対応するタイプに変換する必要がある場合があります.ここで、タイプ変換については、明示的変換と暗黙的変換の2つの概念を提示しなければならない.
明示的な変換:
const a = parseInt(‘1111111111111’);
const b = Obj.toString();
暗黙的な変換:
var a = '111'+0;//a ;
var b = 111+'';//b ;
例えば:aデフォルトはundefinedです!aはtrueだ!!!aはfalseであるため、bの値はundefinedではなくfalseである.このように書くと、後続の判断に便利になります.
だから、!(a)の役割は,aをブール型(boolean)に強制的に変換することである.
js 1つ2つ3つの感嘆符の違い
1、感嘆符一つ
!変数をbooleanタイプに変換できます.null、undefined、空の文字列の反転はfalseで、残りはtrueです.
!null=true
!undefined=true
!''=true
!100=false
!'abc'=false
2、感嘆符2つ!!タイプ判断によく使われます.
undefined
およびnull
はfalseである.
はfalse、
はtrueである. 0
、不確定値(NaN
)false、その他true、
もtrueです.文字列
”0″
と数値0
は互いに変換できますが、0は「0」に変換でき、「0」はtrueに変換できますが、0はfalseに変換され、Javascriptのタイプ変換が伝達されていないことがわかります.Javascript中!!(感嘆符2つ、感嘆符2つ)何に使えますか?
いくつかの変数の値を判断するために使用できます!値が真の場合は、まず
undefined
とnull
を除外することができ、対象タイプに応じて、以下のように判断することができる.undefined
またはnull
ではないことを示すだけで、要素と内容があるかどうかを判断することはできません.また、次の2つの使い方は完全に等価です.
let a; // null、undefined、''、0
if (a !== null && typeof(a) !== "undefined" &&
a !== undefined && a !== '' && a !== 0){
//a truthy , a
}
let a;
if(!!a){
//a truthy , a
}
3、感嘆符3つ
3つの感嘆符は意味がなく、1つの感嘆符の効果と同じです.一般的に彼らは!!1つの変数を
boolean
型に変換し、もう1つ追加することを示します.boolean型に対して反逆し、!false
または!true
と同じです.転載:https://blog.csdn.net/tantanit/article/details/52287700 https://blog.csdn.net/lx_1024/article/details/79807228