js中
!
不止可以用于取反,也可以将非布尔值类型转换为布尔值。
对于null
、undefined
、0
和‘ ’
(空),取反后为true
,其他为false
!!
顾名思义就是将非布尔值类型转换为布尔值然后再进行取反。
则null
、undefined
、0
和‘ ’
(空),会变成
false,其他会变成
true`。
tip:如果本来就是布尔值类型,则就按照布尔值逻辑进行取反
这个两个方法主要用于判断获取的值是否有效
比如,我们之前要判断这个值是不是有内容,有才进行相关操作,则
// 如果val是null、undefined、‘ ’、0,则就不会在继续执行console.log(val)
function(val){
if(!val) return
console.log(val)
}
// 如果val不null、undefined、‘ ’、0,就执行代码,则可以用!!
function(val){
if(!!val){
console.log(val)
}
}