zoukankan      html  css  js  c++  java
  • JavaScript Boolean( new Boolean(false) ) 其实是true

      Boolean类型是JavaScript原始数据类型(primitive type)之一;常用来表示 真或假,是或否;这个类型只有两个值:保留字true和false

      一般用于控制语句:如下

    if(Boolean){
       //do something
      console.log('true')  
    }else{
       //do something
      console.log('false')  
    }
    

      JavaScript的其他数据类型都可以转换成Boolean类型,注意!!!只有这几种类型会转换为false

    • undefined
    • null
    • 0
    • -0
    • NaN
    • ""  (空字符串)

      其他的都会转换为true。空对象{},空数组[] , 负数 ,false的对象包装等

      

        if(-1){
          console.log('-1转换为true');
        }
        if({}){
          console.log('{}转换为true');
        }
        if([]){
          console.log('[]转换为true');
        }
        if(new Boolean(false)){
          console.log('new Boolean(false)转换为true');
        }
    

      终于到了重点,new Boolean(false)是布尔值的包装对象    typeof (new Boolean(false))  // 'object'  ,所以 转换为boolean是true,而不是false

      我们知道,原始数据类型是没有方法的,  但是我们却可以有如下用法

    true.toString()   //'true'
    

      这是因为,在对原始类型使用方法时,会自动通过Boolean()构造一个临时对象,访问的方法均来自这个临时对象,同样的数字和字符串对应有Number()和String() 所以都可以调用方法如(toString());而 undefined 和 null 没有对应的包装对象,所以访问他们的属性会报错,如下。

      

  • 相关阅读:
    Cocos2d-x 3.0 屏幕触摸及消息分发机制
    stretchableImageWithLeftCapWidth气泡拉伸
    海量数据插入数据库效率对照測试 ---ADO.NET下SqlBulkCopy()对照LINQ 下InsertAllOnSubmit()
    银联+移动+三星PK微信、余额宝
    热力学三大定律与熵
    热力学三大定律与熵
    OpenGL(六) gluLookAt和gluPerspective函数解析
    特殊字符
    特殊字符
    函数的功能
  • 原文地址:https://www.cnblogs.com/shapeY/p/7609593.html
Copyright © 2011-2022 走看看