美文网首页
if(xx)和a==b的判断

if(xx)和a==b的判断

作者: 墙上的土豆会开花 | 来源:发表于2018-08-30 00:41 被阅读3次

    if(xx)

    对于括号内的表达式会被强制转换为布尔类型

    转换原理

    类型 结果
    Undefined false
    Null false
    Boolean 直接判断
    Number 0.00,+0,-0或者NaN为false,其他为true
    String 空字符串为false,其他为true
    Object true

    a==b

    在js判断两个变量值是否相等,可以使用==相等或===严格相等操作符。

    ==判断两个值是否相等,相同类型直接比较,不同类型需要对类型进行转换再比较。

    原理

    X Y 结果
    Null Undefined true
    Number String X==toNumber(y)
    Boolean (ang) toNumber(x)==Y
    OBject String of Number toPrimitive(x)==Y
    Otherwise Otherwise false

    TO Number

    type Result
    Undefined NaN
    Null 0
    Boolean true→1,false→0
    String “abc”→NaN,“123”→123

    TO Primitive

    对于Object类型,先尝试调用Valae of方法获取结果,如果没有定义,再尝试调用,to string方法获取结果。

    相关文章

      网友评论

          本文标题:if(xx)和a==b的判断

          本文链接:https://www.haomeiwen.com/subject/yrekwftx.html