今天在review代码的时候发现了一个用法
if(!!item) {
// do something
}
! 的用法
通常我们会用!做逻辑运算判断和类型判断
!item可以将变量转变成boolean类型,null,undefined和空字符串取反都为true,其他都为false
!null // true
!undefined // true
!'' // true
!100 // false
!'abc' // false
!! 的用法
!!常常用来做类型判断,在第一步!item之后再做取反判断
举个🌰 :判断item为非空、未定义或者非空字符串才能执行方法
var item
if (item !== null && typeof(item) !== undefined && item !== '') {
// do something
}
然而用!!我们只需这样去判断
var item
if (!!item) {
// do something
}