if(xx)和a == b如何判断

if(xx)作为条件判断语句时,在(xxx)为非严格意义上的等式如何判断条件为true还是false?
六种数据类型,undefined,number,string,boolean,null与object,在进行if条件语句判断时都会转化为boolean类型判断,其转换规则如下:


image.png

如:

var a=5
if(a){
    console.log('true')
} // true

a=0
if(a){
    console.log('true')
} 
else{
    console.log('false')
}// false

a=NaN
if(a){
    console.log('true')
} 
else{
    console.log('false')
}//false

a=null
if(a)){
    console.log('true')
} 
else{
    console.log('false')
}//false

a==b的判断
a == b的判断分为两种情况,两者数据类型相同时的判断与数据类型不同时的判断。

1.当两者数据类型相同时

当a与b的数据类型相同时,两者执行严格的相等运算;

2.当两者数据类型不相同时

当a与b的数据类型不相同时,会有以下几种情况;
1.如果a和b一个是null,一个是undefined时,相等。
2.如果a和b一个是数字,一个是字符串,先将字符串转为数字,然后比较。
3.如果a和b一个值是true,一个值是false则将其转为1和0比较。
4.如果a和b一个值是对象,一个是数字或字符串,则尝试使用valueOf和toString转换后比较。
5.其它情况下都不相等。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • if(xx)如何做判断的? a==b如何做判断的? 在学习判断true/false的时候我踩了不少坑,主要原因是因...
    PhilongHuynh阅读 595评论 0 0
  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 9,050评论 0 13
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,801评论 0 10
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 13,877评论 0 38
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,391评论 0 2