最近在前端vue项目开发中看到一个js的用法。 对于js初学者来说,这是一个容易混淆的地方。 借此机会学习一下!!的用法。
if (!!getItem('Authorization')) {
console.log('已登录')
}
1. 的用法!
! 可以将变量转换为布尔类型,对null和空字符串求反后为true。 对于非空字符串或非空对象,执行 ! 后将为 false。 操作,例如:
!空=真;
! =真;
!''=真;
!'王' = false;
2. 用法!!
知道了! 如何使用它!! 这很容易理解。 其实就是取否定,然后否定否定。 常用于进行非空判断。 !! 通常可以简化代码。 例如,只有判断变量val非空、未定义或非空时,方法体才能被执行。
复杂的写作:
var val;
if(val!=null&&typeof(val)!=undefined&&val!=''){
console.log('执行...');
}
好好利用!! 只需写一个判断表达式:
if(!!val){
console.log('执行...');
}
两种写法达到的效果是一样的。 只有当val是有实际意义的变量时,才会执行if内容。 否则,当变量为 null 或 '' 时,后面的 if 代码块将不会被执行。 总结! 可以与变量进行逻辑AND运算,然后转换为布尔值,!! 正是利用了这个操作,使得js判断变量类型的效率很高。