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

  

JavaScript new Boolean(false) 其实是true的更多相关文章

  1. JavaScript Boolean( new Boolean(false) ) 其实是true

    Boolean类型是JavaScript原始数据类型(primitive type)之一:常用来表示 真或假,是或否:这个类型只有两个值:保留字true和false 一般用于控制语句:如下 if(Bo ...

  2. JavaScript数据类型 Boolean布尔类型

    前言 布尔值Boolean类型可能是三种包装对象Number.String和Boolean中最简单的一种.Number和String对象拥有大量的实例属性和方法,Boolean却很少.从某种意义上说, ...

  3. javascript中的 return false和return true

    关于javascript中的 return false和return true,return 是javascript里函数返回值的关键字,一个函数内处理的结果可以使用return 返回,这样在调用函数 ...

  4. JavaScript中 return; 、return false; 与return true的区别

    工作中有时候用到  return; ,有时候用到  return false;  还有时候会用到  return true; 这三个到底是什么区别?为什么一会这个一会又那个! 1.先看下return ...

  5. Javascript 中的false、0、null、undefined和空字符串对象

    在Javascript中,我们经常会接触到题目中提到的这5个比较特别的对象——false.0.空字符串.null和undefined.这几个对象很容易用错,因此在使用时必须得小心. 类型检测 我们下来 ...

  6. 【转】Javascript 中的false,零值,null,undefined和空字符串对象

    js 开发中经常会碰到判断是否为空的情况,关于 null 和 undefined 的区别了解的不是很好,刚好看见这篇文章,转过来学习一下,以下是转载正文: 在Javascript中,我们经常会接触到题 ...

  7. Javascript类型——boolean类型

    布尔值在Javascript中有两个值:true和false. 布尔值和其他数据类型的转换关系 数据类型 true false boolean true false String 任何非空字符串 &q ...

  8. Javascript 中的false,零值,null,undefined和空字符串对象

    在Javascript中,我们经常会接触到题目中提到的这5个比较特别的对象--false.0.空字符串.null和undefined.这几个对象很容易用错,因此在使用时必须得小心. 类型检测 我们下来 ...

  9. JavaScript:undefined!=false之解 及==比较的规则

    JS中有一个基本概念就是: JavaScript中undefined==null 但undefined!==null undefined与null转换成布尔值都是false 如果按照常规想法,比如下面 ...

随机推荐

  1. 超简单使用批处理(batch)操作数据库

    超简单使用批处理(batch)操作数据库 批处理(batch)是什么 批处理的执行就好比快递员的工作: 未使用批处理的时候,快递员一次从分发点将一件快递发给客户: 使用批处理,则是快递员将所有要派送的 ...

  2. Linux入门练习

    1.echo是用于终端打印的基本命令: 1.1echo默认将一个换行符追加到输出文本的尾部. 1.2 echo中转义换行符 如需使用转义序列,则采用echo -e "包含转义序列的字符串&q ...

  3. Eclipse常用快捷键记录

    Eclipse简介: Eclipse 是一个开放源代码的.基于Java的可扩展开发平台.就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境.幸运的是,Eclipse 附带了一个标准的 ...

  4. c#实现服务端webSocket

    现阶段socket通信使用TCP.UDP协议,其中TCP协议相对来说比较安全稳定!本文也是来讲解TCP为主(恕在下学艺不精). 下面是个人理解的tcp/ip进行通讯之间的三次握手! 1.客户端先发送报 ...

  5. Tomcat迁移到WebsphereURL获取中文参数乱码问题

    URL携带中文参数时,tomcat通常用两种方法可以解决中文乱码问题: String param = new String(request.getParameter("param " ...

  6. Android Studio开发常见问题

    Compilation failed; see the compiler error output for details 错误描述 解决方法 原因:文件编码问题.进入项目根目录,在命令提示符下执行以 ...

  7. ADO.NET调用存储过程

    建表 CREATE TABLE [tab_cJ] ( [id] [, ) NOT NULL PRIMARY KEY, [name] [varchar] () , [age] [int] NULL , ...

  8. Linux-chmod命令(4)

     chmod:(change mode)改变linux系统文件或目录的访问权限.用它控制文件或目录的访问权限. 格式 : [-cfvR][[+-=][rwxX]...][,...] 参数 1:  -c ...

  9. 微信小程序开发心得--动画机制

    微信小程序也已出来有一段时间了,最近写了几款微信小程序项目,今天来说说感受.首先开发一款微信小程序,最主要的就是针对于公司来运营的,因为,在申请appid(微信小程序ID号)时候,需要填写相关的公司认 ...

  10. 转: 【Java并发编程】之二十:并发新特性—Lock锁和条件变量(含代码)

    简单使用Lock锁 Java5中引入了新的锁机制--Java.util.concurrent.locks中的显式的互斥锁:Lock接口,它提供了比synchronized更加广泛的锁定操作.Lock接 ...