js—双等号引起的类型转换过程

Posted 黄小黄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js—双等号引起的类型转换过程相关的知识,希望对你有一定的参考价值。

一、首先看双等号前后有没有NaN,如果存在NaN一律返回false

二、再看双等号前后有没有布尔,有布尔就将布尔转换为数字。(false是0,true是1)

三、接着看双等号前后有没有字符串,有三种情况:

  1. 对方是对象,对象使用toString()或者valueOf()进行转换;
  2. 对方是数字,字符串转换为数字;
  3. 对方是字符串,直接比较;
  4. 其它返回false;

四、如果是数字,对方是对象,对象取valueOf()或者toString()进行比较,其它一律返回false

五、null,undefined不会进行转换,但它们俩相等

 

练习题:

1 console.log([0] == true);         //false
2 console.log(0 == false);           //true
3 console.log(undefined == null);     //true
4 console.log(‘0‘ == undefinded);      //false

 

以上是关于js—双等号引起的类型转换过程的主要内容,如果未能解决你的问题,请参考以下文章

js操作符类型转换大全(前端面试题之操作符)

js中==和===区别

js中两个等号(==)和三个等号(===)的区别

js中==和===区别

js中==和===的区别

js中的“==”和“===”的区别