學習一下 !和!! 之間的區(qū)別张惹;
先看個簡答的示例:
console.log(!0); //true
console.log(!false); //true
console.log(!''); //true
console.log(!' '); //false
console.log(!'abc'); //false
console.log(!{}); //false
console.log(typeof !0); //boolean
console.log(typeof !'abc'); //boolean
console.log(typeof !true); //boolean
console.log(typeof !{}); //boolean
!:邏輯非
通過示例可以看出岭洲,當給變量前面加上!
之后,通過typeof可以知道變量類型變成了boolean
盾剩。
這里說變量類型感覺有點不妥,不過也不知道怎么描述.
其中
- 0
- '' / ""
- false
- null
- undefined
- NaN
邏輯非之后的值為true
屎暇。
!!
它的作用是用來:判斷在其后面的變量是 true or false
如: !!'abc'
- 第一步: !'abc' 返回的值是false驻粟,是boolean類型;
- 第二部: !false 返回的值是true格嗅,是boolean類型;
- 結果:true屯掖,可以判斷 'abc'是有值的,不是上面的那幾種情況粪摘;
結論:!!可以快速得出绍坝,當前的變量的值是否是真的值(將值類型轉換成true)。