zoukankan      html  css  js  c++  java
  • 关于 Boolean 的转换

    前端经常喜欢这样写 if else 

    if(value)
    {
      //do something        
    }

    javascript 能智能的把任何类型的 value 转换成 boolean 来进行 if 判断 

    转换是这样的 

    if("" == true) //不是这样哦
    {
      console.log("z");
    }
    
    if(new Boolean("")) //是这样
    {
      console.log("z");
    }

    逻辑是 : 

    console.log(new Boolean("") == false);
    console.log(new Boolean("a") == true);
    
    console.log(new Boolean({}) == true);
    
    console.log(new Boolean([]) == true);
    
    console.log(new Boolean(0) == false);
    console.log(new Boolean(1) == true);
    console.log(new Boolean(100) == true);
    
    console.log(new Boolean(undefined) == false);
    
    console.log(new Boolean(null) == false);
    
    console.log(new Boolean(new Date()) == true);

    for string : 只有 length = 0 时是 false

    for number : 只有 = 0 时是 false 

    object, array, datetime 总是 true

    undefined null 总是 false

    除了 if(value) 我们也经常把 2 个不同的类型做对比 

    if("z" == true) 

    js 会把他们强转成相同的类似来对比. 至于传谁, 我忘记了. 转法是 new String(true);

  • 相关阅读:
    Spring mvc时间格式处理
    dubbo升级spring4与cxf
    dom4j使用总结
    java utils
    ES6
    ES6
    javascript常用方法
    ES6
    ES6
    ES6
  • 原文地址:https://www.cnblogs.com/keatkeat/p/6206516.html
Copyright © 2011-2022 走看看