Boolean类型是与布尔值对应的引用类型。要创建Boolean对象,可以像下面这样调用Boolean构造函数并传入true或false值。

var booleanObject=new Boolean();

  Boolean类型的实例重写了valueOf()方法,返回基本类型值true或false;重写了toString()方法,返回字符串“true”和“false”。可是,Boolean对象在ECMAScript中的用处不大,因为它经常会造成人们的误解。其中最常见的问题就是在布尔表达式中使用Boolean对象,例如:

var falseObject=new Boolean();
var result=falseObject && true;
alert(result);//truevar falseValue=false;
result=falseValue && true;
alert(result);//false

  在这个例子中,我们使用false值创建了一个Boolean对象。然后,将这个对象与基本类型值true构成了逻辑与表达式。在布尔运算中,false  && true 等于false。可是,实例中的这行代码是对falseObject而不是对它的值(false)进行求值。前面讨论过,布尔表达式中的所有对象都会被转换为true,因此falseObject对象在布尔表达式中代表的是true。结果,true && true当然就等于true了。

  基本类型与引用类型的布尔值还有两个区别。首先,typeof操作符对基本类型返回“Boolean”,而对引用类型返回“Object”。其次,由于Boolean对象是Boolean类型的实例,所以使用instanceof操作符测试Boolean对象返回true,而测试基本类型的布尔值则返回false,例如:

alert(typeof falseObject);//object
alert(typeof falseValue);//boolean
alert(falseObject instanceof Boolean);//true
alert(falseValue instanceof Boolean);//false

  理解基本类型的布尔值与Boolean对象之间的区别非常重要,当然,我们的建议是永远不要用Boolean对象。

转载于:https://www.cnblogs.com/yxlove/p/4515968.html

5.6.1 Boolean类型相关推荐

  1. 浅谈Greenplum的Boolean类型与Text类型之间的转换

    在Greenplum或者Deepgreen中,如果我们想直接把Boolean类型转化为Text,那么可能会让你失望,因为他们不支持这种直接转化,但是可以通过UDF的方式实现,下面来简单看一下这个过程. ...

  2. 腾讯面试官问我Java中boolean类型占用多少个字节?我说一个,面试官让我回家等通知...

    来自:程序员乔戈里 ---------------第二天-------------- 什么是boolean类型,根据官方文档的描述[1]: boolean: The boolean data type ...

  3. java boolean几个字节_Java中boolean类型到底占用多少个字节?

    1.时间:2017-07-03 07:37:06YuanMxy 2.问题描述:今天在复习java基础的时候发现一小问题,Java中boolean类型到底占用多少个字节? 3.问题解答: (1)什么是b ...

  4. html 判断boolean,js关于if()else{}中的判定条件的认识,各种数据类型转换为Boolean类型的转换规则...

    if()中的判断条件其实是转换成Boolean类型对Boolean类型的判断 String类型 var a="test"; if(a){ alert("yes" ...

  5. Java向数据库中插入Boolean类型的字段

    Boolean类型数据只有两个值true和false,在数据库中1代表true,0代表false. 在bean中定义Boolean类型,数据入库时会自动转换的.

  6. oracle有Boolean类型

    http://topic.csdn.net/t/20040919/20/3388579.html oracel的pl/sql有: You   use   the   BOOLEAN   datatyp ...

  7. struts2 依赖注入boolean类型的属性时报错

    使用IDE:eclipse: struts2的版本:2.3.4.1 登录界面代码如下: Html代码   <?xml version="1.0" encoding=" ...

  8. delete postman 传参_PostMan 传参boolean 类型,接口接受的值一直是false

    情形: 最近写前台页面的一个按钮,功能是:点击后切换状态,显示是或否. 字段名称是isTest,类型是boolean . 写完接口,拿postMan测试,传参如下: 但是后台接口接受的数据 一直是fa ...

  9. java中boolean类型占几个字节

    java的基本数据类型中,boolean只有两种状态,默认值为false.取值范围是{true,false},理论上占1bit,实际上: 1.单个的boolean 类型变量在编译的时候是使用的int ...

  10. Java中boolean类型占用多少个字节

    原文地址:http://www.cnblogs.com/wangtianze/p/6690665.html?utm_source=itdadao&utm_medium=referral --- ...

最新文章

  1. js中==与===的区别
  2. java 2d划线 刷子_Java图形设计中,利用Bresenham算法实现直线线型,线宽的控制(NO2DGRAPHICS)...
  3. 分布式应用解耦利器rabbitmq
  4. MySQL的基本查询(二)
  5. 产品经理思维模型:从品牌营销的角度看用户
  6. PHP API 框架开发的学习
  7. 直播间搭建项目——延续直播发展趋势
  8. ABP框架使用打印日志
  9. localdatetime 格式化_LocalDateTime取代Data处理时间问题
  10. 从辉煌到困局,奥康还能不能绝地反击?
  11. ST17H66 低功耗蓝牙SOC开发(3)—— OSAL系统简介
  12. ZZULIOJ:1134: 字符串转换
  13. 计算机状态oxcoooooe9,电脑蓝屏后开机显示状态Oxcoooooe9
  14. python文件的打开模式有几种_以下选项中,不是Python打开文件模式的是( )_学小易找答案...
  15. Scratch 2.0的构建与二次开发手册
  16. Lucene5搜索效果问题探究
  17. kali linux adb 安装教程,kali linux 使用scrcpy手机投屏
  18. 解决锐捷校园网环境下VMware虚拟机无法上网问题
  19. 第4章 数据可视化答案
  20. Web3j使用教程(2)

热门文章

  1. chromium的部署工具depot_tools和gclient
  2. leetcode之Contains Duplicate
  3. 【Win 10应用开发】认识一下UAP项目
  4. jq设置html的css属性,jQuery css() 方法
  5. text 热敏打印机_ESC/POS热敏打印机示例
  6. socket编程遇到的bug记录
  7. Position与localPosition的区别
  8. Redis 集群中的纪元(epoch)
  9. 软件开发有哪些规范和标准_车辆,机械专业如何从事汽车电子软件开发
  10. webview是什么东西_做性能优化前需要考虑什么?