JavaScript中的!!运算符

JavaScript中的运算符大体分为:算术运算符、比较运算符、布尔运算符、二进制运算符。运算符都比较基础,今天只讲布尔运算符中的!!运算符。
!!运算符用语言描述就是:取反再取反。单看一个!就是对一个值做取反运算。在所有的JavaScript值中除了以下六个值做 ! 运算后是true外其他所有的值做 ! 运算后都是false:
1、undefined
2、null
3、Nan
4、0
5、false
6、" "(空字符串)

	var a = undefined;
    var b = null;
    var c = "";
    var d = 0;
    var e = NaN;
    var f = false;
    console.log((!a));//输出true
    console.log((!b));//输出true
    console.log((!c));//输出true
    console.log((!d));//输出true
    console.log((!e));//输出true
    console.log((!f));//输出true

单个 ! 是对值取反 如果在加一个 ! 就是对取反后的值再取反:原来取反后是true再次取反后就变为了false:

	var a = undefined;
    var b = null;
    var c = "";
    var d = 0;
    var e = NaN;
    var f = false;
    console.log((!!a));//输出false
    console.log((!!b));//输出false
    console.log((!!c));//输出false
    console.log((!!d));//输出false
    console.log((!!e));//输出false
    console.log((!!f));//输出false

所以我们经常看到的 !! 其实说白了就是判断一个值是否是一个有效值 既是不是true 也就是判断一个是不是上面六个值,如果不用 !! 我们需要一个一个的去判断会造成代码臃肿:

	if (a != undefined && a != null && a != "" && a != 0 && a != NaN && a != false) {
        console.log(a);
    }
	//上面代码就显得很臃肿 对于这种直接用 !! 就可以实现:
	if(!!a){
		 console.log(a);
	}

学过Java的就会发现JavaScript中 !! 运算符比较类似于Java中的TextUtils.isEmpty();

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值