美文网首页
JavaScript类型转换-关于 if(xx) 和 a==b的

JavaScript类型转换-关于 if(xx) 和 a==b的

作者: BerkeleyPB | 来源:发表于2019-03-13 15:46 被阅读0次

    if(xx) 的判断

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

    数据类型 转换结果
    Undefined false
    Null false
    Boolean 直接判断
    Number +0、−0、NaN 为 false, 其他 true
    String 空字符串为 false,其他 true
    Object true

    a=b 的判断

    a b 结果
    null undefined true (=== //false)
    Number String a == toNumber(b)
    Boolean (any) toNumber(a) == b
    Object String or Number toPrimitive(a) == b
    NaN NaN true
    toNumber
    类型 结果
    Undefined NaN
    Null 0
    Boolean ture → 1, false → 0
    String “abc” → NaN, “123” → 123
    toPrimitive

    对于 Object:先尝试调用 .valueOf 方法获取结果;如果没定义,再尝试调用 .toString方法获取结果。

    相关文章

      网友评论

          本文标题:JavaScript类型转换-关于 if(xx) 和 a==b的

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