js中各种类型 的变量在if条件中是true还是false

js中各种类型 的变量在if条件中是true还是false

(1)返回的布尔值

如果操作数是一个对象,返回true
如果操作数是一个数组,返回true
如果操作数是一个空字符串,返回false
如果操作数是一个非空字符串,返回true
如果操作数是数值0,返回false
如果操作数是任意非0数值(包括Infinity),返回true
如果操作数是null,返回false
如果操作数是NaN,返回false
如果操作数是undefined,返回false
基本上 undefined、null、NaN、0 和 false 本身都是 false

(2)!与!!

!的用法是比较灵活的,它除了做逻辑运算常常会用!做类型判断,可以用!与上对象来求得一个布尔值.!可将变量转换成boolean类型,null、undefined和空字符串取反都为false,其余都为true。
在这里插入图片描述

!!常常用来做类型判断,在第一步!(变量)之后再做逻辑取反运算,在js中新手常常会写这样臃肿的代码:
判断变量a为非空,未定义或者非空串才能执行方法体的内容
总结:“!”是逻辑与运算,并且可以与任何变量进行逻辑与将其转换为布尔值,“!!”则是逻辑与取反运算,尤其后者在判断类型时代码简洁高效,省去多次判断null、undefined和空串的冗余代码
在这里插入图片描述

(3)== 与===的区别,!==与!==等同

1》== 和 !=仅仅当左右操作数相等时返回true,如果两个操作数不是同一类型,js会尝试将其隐式转换为合适的(相同数据)类型,然后进行值比较
2》=== 和 !==当且仅当左右操作数类型相等,且值相等时才会返回true,当左右两个操作数不是同一类型时,js不会转换其类型
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值