javascript中!!运算符

在查看一些插件源码时,在做数据校验时,经常用到!!运算符,如:

乍看有点懵,其实按照js内置 "!" 运算符从右到左按次序剖析,也就理解了。

先看内层运算: !obj ,这是一个非运算:

当obj为假(null/undefined/false/NaN/""等),非运算后的结果未false;

当obj为真(非null/undefined/false/NaN/""等),非运算后的结果未true;

即:

!obj ===false ( obj为真时  )

!obj ===true ( obj为假时  )

再进行一次取非操作,结果就很明显了:

!!obj === true ( obj为真时 )

!!obj ===false ( obj为假时  )

所以,"!!"操作符是判断变量是否真正为真(非null/undefined/false/NaN/""等)的很简明的实现方式,省去了大量的&&运算,如果用&&来实现上述求真逻辑,代码表现如下:

        if( obj!==null &&obj!==undefined && obj!==NaN && obj!=="" && obj!==false){
            //statements
        }

表现非常的臃肿。

综上“!!”运算符在js中是求真的一个非常优秀的方法,在日常的代码编写中要用进去了~^_^

 

转载于:https://www.cnblogs.com/surfer/p/9639022.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值