Boolean类型(基本与包装类型)
前面的话
当 Number、String、Boolean使用new操作符时,它们就不仅仅是基本类型了,变成了基本的包装类型,即引用类型。Boolean类型应该算是这三种类型中最简单的类型,这篇文章将介绍Boolean类型。
定义
Boolean类型只有两个字面量值:true、false。这两个值与数字值不是一回事,所以,true不一定等于1,false不一定等于0.
Boolean包装类型是与布尔值对应的引用类型。
var b1 = true;var b2 = new Boolean(true);console.log(b1, typeof b1); // true "boolean"console.log(b2, typeof b2); // Boolean "object"
应用场景
- 条件与循环语句:
var message = "hello world";if(message) {alert('Value is true');}
上面的示例中,会弹出一个警告框。因为在if语句中的message自动转为了对应的Boolean值true。
- 布尔操作符
逻辑操作符也叫布尔操作符,共有三种:与(&&)、或(||)、非(!)。
逻辑非操作符:首先会将它的操作数换为布尔值,再对其求反。最终得到的是操作数对应相反的布尔值。
而同时使用两个逻辑非操作符(!!),将操作数转为对象的布尔值。
console.log(!!"true");console.log(!! 0);console.log(!! NaN);console.log(!! "");console.log(!! " ");
- 关系运算符
小于(<)、小于等于(<=)、大于(>)、大于等于(>=)这几个关系操作符用于对两个值进行比较。最终返回 一个布尔值。
var result1 = 5 > 3;var result2 = 5 < 3;console.log(result1, typeof result1);console.log(result2, typeof result2);
转型函数Boolean()
对任何数据类型的值调用Boolean()函数,总会返回一个Boolean值。
假值:
转换为false的值称为假值。包括这7个
- false
+ null
+ undefined
+ NaN- “”
+ 0+ -0
console.log(Boolean(false)); console.log(Boolean(undefined)); console.log(Boolean(null)); console.log(Boolean(NaN)); console.log(Boolean('')); console.log(Boolean(0)); console.log(Boolean(-0));
[注意] :在Number()方法中空字符串与空白字符串都转为0,而在Boolean方法中,空字符串转为false,而空白字符串转为true
console.log(Number(''));// 0console.log(Number(' '));// 0console.log(Boolean(''));// falseconsole.log(Boolean(' '))// true
除了上述这7个假值以外,其他的值都转为true。包括空对象{}、空数组[]等。
实例方法
Boolean类型的实例重写了Object对象的通用方法toString()、toLocaleString()、toValue()这三个方法。
[toString()]
toString()方法返回Boolean的字符串(‘true’或’false’)
[toLocaleString()]
toLocaleString()方法返回Boolean的字符串(‘true’或’false’)
[valueOf()]
valueOf()方法返回原始的布尔值(true或false)
var result = new Boolean(false);console.log(result.toString());// "false"console.log(result.toLocaleString());// "false"console.log(result.valueOf());// false
[注意]:理解基本类型的布尔值与Boolean对象之间的区别非常重要 —— 但建议永远也不要使用Boolean对象
Boolean类型(基本与包装类型)相关推荐
- 基本类型数组与包装类型数组相互转换
/*** 基本类型数组与包装类型数组相互转换的工具类*/ public class CastArrayUtil {private CastArrayUtil(){}/*** 将基本类型数组转换为对应的 ...
- 面试必考之Java中String是基础类型?是包装类型?
我们都知道,Java中String不属于基础数据类型.基础类型只有8中基本数据类型:byte.short.int.long.float.double.char.boolean,而String是最常用到 ...
- JS中数据类型、内置对象、包装类型对象、typeof关系
平时在复习JS基础知识时,经常会遇到JS数据类型.基础数据类型.内置对象.包装类型对象,检测数据类型时,用到的typeof值,感觉都差不多,但是又有差异.今天特地整理下,方便理解. JS数据类型 基础 ...
- Java为什么要有基本数据类型和包装类型
作为面向对象语言为代表的Java, 在很多任务场景中经常看到它的身影.那么,Java为什么要有基本数据类型和包装类型? 这个问题看似简单,其实也不好回答.毕竟这个问题不仅你我感觉到困惑,许多大佬也感觉 ...
- 基本类型和包装类型的区别详解
六年前,我从苏州回到洛阳,抱着一幅"海归"的心态,投了不少简历,也"约谈"了不少面试官,但仅有两三个令我感到满意.其中有一位叫老马,至今还活在我的手机通讯录里. ...
- java的包装类型是什么用_Java基本类型和包装类型的区别
包装类型可以为 null,而基本类型不可以 别小看这一点区别,它使得包装类型可以应用于 POJO 中,而基本类型则不行. POJO 是什么呢?这里稍微说明一下. POJO 的英文全称是 Plain O ...
- java中包装类型,自动装箱与自动拆箱简述
首先介绍一下什么是包装类型 8种基本类型 :byte short int long float double boolean char 在java语言中,包装类型就是,通过 ...
- 包装类型是什么?基本类型和包装类型有什么区别?
Java 为每一个基本数据类型都引入了对应的包装类型(wrapper class),int 的包装类就是 Integer,从 Java 5 开始引入了自动装箱/拆箱机制,把基本类型转换成包装类型的过程 ...
- java基本类型和包装类型
java是面向对象的语言为什么还要有基本类型,只有包装类型完全面向对象不行吗? java语言可以只有基本类型吗,为什么还有要包装类型? java中的基本类型和包装类型: 基本类型 包装器类 ...
- java基本类型和包装类型的区别
1.为什么存在基本类型: 在Java中正常应该设置对象,然后通过new一个对象存储在堆中,再通过栈的引用来使用对象,但对于简单的小的变量,用new 显的繁琐麻烦,所以产生了基本类型 2.有了基本类型, ...
最新文章
- rocks自建存储流程
- maya刷权重时有个叉_抖音账号养号技巧,如何增加抖音账号权重?
- 【MATLAB统计分析与应用100例】案例007:matlab数据的极差归一化变换
- 工作180:前端是业务需求理解
- crontab 日志_liunx 中定时清理过期日志文件
- python图像分类_用于实现用python和django编写的图像分类的Keras UI
- mysql索引类型 优劣_Mysql索引的类型和优缺点详解
- ID的权限问题导致免密码登录失效
- 【英语学习】【WOTD】two-bit 释义/词源/示例
- Tegra X1性能解析
- mac的 上传到linux服务器地址,【mac 怎么登录到 linux 服务器并传输文件?】-看准网...
- 能大大提升工作效率和时间效率的9个重要习惯
- spring quartz执行两次问题
- 浙江省高考计算机重点知识,2017届浙江省新高考信息技术考试标准
- 处理网页上的字符溢出的方法
- 23考研倒计时,冲刺阶段这样做事半功倍!
- 再掀融资潮 团购网仍后劲不足(团购现状分析)
- python 读取最新阿里云RDS数据库备份并下载
- HDU 4509 hash
- ITS Mobile Template interpretation failed. Template does not exist