js中使用!!的情况

it2025-09-29  3

其他变量类型和Boolean类型的相互转化: 0、-0、null、""、false、undefined 或者 NaN转化为false,其他为true

比较! 和 !! 1、!可做逻辑运算和类型判断:可将变量转换成boolean类型,null、undefined和空字符串取反都为true,其余都为false 如:!null=true !0=true 2、!! 常常用来做类型判断,在第一步!(变量)之后再做逻辑取反运算: 简单来看:!!null=false !!(0)=false 常用于: 判断变量a为非空,未定义或者非空串才能执行方法体的内容。 复杂来写:

var a; if(a!=null&&typeof(a)!=undefined&&a!=''){ //a有内容才执行的代码 }

简便写法:

if(!!a){ //a有内容才执行的代码... }

在项目中: 有时候判断boolean的时候,只用arr.length只会返回数字而不是boolean值,如果加上!则是反;可以加上!!,正好表示的是其本身。根据情况使用:

<!-- 条件: 如果from == nopermission:受isShowDetail和user数组长度控制,否则只受user长度控制; --> <!-- 这里!!可以将包裹起来的条件转为Boolean值,帮助判断;如果不转换t.users.length实际为数字number值,无法进行判断--> <avatarList v-if="from == 'nopermission' ? !!(isShowDetail && t.users.length) : !!(t.users && t.users.length)"></avatarList>
最新回复(0)