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 没有对应的包装对象,所以访问他们的属性会报错,如下。

      

  • 相关阅读:
    如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?
    什么是 JavaConfig?
    序列号Sequences
    包Packages
    参数Parameters、变量Variables
    maven配置多个镜像
    各种http报错的报错的状态码的分析
    举例说明同步和异步。
    第二阶段的任务及燃尽图(第二天)
    第二阶段的任务及燃尽图(第一天)
  • 原文地址:https://www.cnblogs.com/shapeY/p/7609593.html
Copyright © 2011-2022 走看看