js中特殊值的boolean值

JS中的数据类型是一种弱类型,所以在使用的时候如果没有注意到肯能会出现一些细节的问题。
案例分析:

if(car && type){
        console.log("hello world");
    }

我在开发的时候需要判断一个值是否为0,比如if(car && type),其中Car为对象,而type为number类型,只有有两个值1或者0,此时当type为0是怎么判断都无法进入需要执行的条件。
捯饬了好久才发现是因为有一些特殊的值在if判断中他有着特殊的含义。

  1. ull和undefined都为false
  2. 0 为false
  3. “”为false
  4. 同时在true和false在和负数比较的时候,会相应的把true转换为1,false转化为0
  5. == 是比较的内容,而===还要比较数据的类型,比如0==false会是true,而0===false则会使false,因为一个是number类型,一个是boolean类型

猜你喜欢

转载自blog.csdn.net/y12nre/article/details/77679375