JavaScript中的!!运算符

本文深入探讨了JavaScript中!!运算符的使用,解释了其如何通过两次取反来判断值的有效性,避免代码臃肿,并与Java中的TextUtils.isEmpty()进行对比。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值