[JS小技巧] !!的妙用

215 阅读1分钟

今天在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
}