if(!!boolean)两次取反

本文解释了JavaScript中使用两次取反操作符(!!)来确保变量转换为布尔类型的技巧。这种方法有助于避免因数据类型不确定而引发的错误。

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

今天看到一段代码里面有两次取反,刚开始看不懂,后来问人才知道,类型转换是将对应的类型转换为boolean型,!!b指的是将b转换为boolea值  去两次非是因为将b转换位boolean值后取了一次非,所以得到的值正好相反,再取一次反回来,也就是说if(!!boolean)和iif(boolean)j结果是一样的,只是前者不一定是什么类型,但是后者是转成了Boolean类型,之所以两次取反就是转换成boolean,以此避免后期可能会因为不确定的数据类型报错。

if( event.srcElement.tagName.toLowerCase() == "a" ){
if( this.lastClick != event.target){
event.target.className = "active";
if( !!this.lastClick){
this.lastClick.className = "";
}
this.lastClick = event.target;
} else {
console.log("重复点击不触发");
}
}

转载于:https://www.cnblogs.com/yanxiaoluo/p/7506068.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值