今天在看代码的时候,看到有写
.filter((item: any) => !!item.name && !!item.value)
!除了逻辑运算中的中的取非之外,还可以double用来做类型判断,也就是上边的代码。
!可将变量转换成boolean类型, null、undefined和空字符串取反都为true,其余都为false
。
!!则先将value转成取反的布尔值,将得到的布尔值再次取反,保证value的值为null,undefined和空字符串的情况下被过滤掉
今天在看代码的时候,看到有写
.filter((item: any) => !!item.name && !!item.value)
!除了逻辑运算中的中的取非之外,还可以double用来做类型判断,也就是上边的代码。
!可将变量转换成boolean类型, null、undefined和空字符串取反都为true,其余都为false
。
!!则先将value转成取反的布尔值,将得到的布尔值再次取反,保证value的值为null,undefined和空字符串的情况下被过滤掉