当前位置: 首页 > 编程笔记 >

JavaScript类型系统之布尔Boolean类型详解

刘才俊
2023-03-14
本文向大家介绍JavaScript类型系统之布尔Boolean类型详解,包括了JavaScript类型系统之布尔Boolean类型详解的使用技巧和注意事项,需要的朋友参考一下

前面的话

  布尔值Boolean类型可能是三种包装对象Number、String和Boolean中最简单的一种。Number和String对象拥有大量的实例属性和方法,Boolean却很少。从某种意义上说,为计算机设计程序就是与布尔值打交道,作为最基本的事实,所有的电子电路只能识别和使用布尔数据。本文将介绍布尔Boolean类型

定义

  布尔Boolean类型表示逻辑实体,它只有两个值,保留字true和false,分别代表真和假这两个状态

  Boolean包装类型是与布尔值对应的引用类型,在布尔表达式中使用Boolean对象容易造成误解

var b1 = true;
var b2 = new Boolean(true);
console.log(b1,typeof b1);//true 'boolean'
console.log(b2,typeof b2);//Boolean{[[PrimitiveValue]]: true} 'object'
console.log(b1.valueOf(), typeof b1.valueOf());//true 'boolean'
console.log(b2.valueOf(), typeof b2.valueOf());//true 'boolean'

应用场景

  布尔类型主要应用于如下场景:

  【1】条件和循环语句

  布尔值主要应用于条件和循环语句的条件部分。比如,if语句中,如果布尔值为true执行第一段逻辑,如果为false执行另一段逻辑。通常将一个创建布尔值的比较直接与使用这个比较的语句结合在一起

if(a > 1){
//条件为true时,执行此处
}else{
//条件为false时,执行此处
}

  【2】逻辑运算符

  逻辑运算符又叫布尔运算符。逻辑非运算符总是返回布尔值,而逻辑或和逻辑与操作并非如此

  同时使用一个逻辑非操作符,可以将类型转换为布尔型

console.log(!!1);//true
console.log(!!0);//false
console.log(!!' ');//true
console.log(!!'');//false

  【3】关系运算符

  关系运算符用于测试两个值之间的关系,根据关系是否存在而返回true或false,关系表达式总是返回一个布尔值,通常在if、while或for语句中使用关系表达式,用以控制程序的执行流程

console.log( 1 > 2);//false
console.log( 1 < 2);//true

转为布尔

  将一个值转为布尔值可使用Boolean()转型函数

假值

  转换成false的值称为假值(falsy value),这7个值包括undefined、null、+0、-0、NaN、false、""(空字符串)

console.log(Boolean(undefined));//false
console.log(Boolean(null));//false
console.log(Boolean(0));//false
console.log(Boolean(-0));//false
console.log(Boolean(NaN));//false
console.log(Boolean(''));//false
console.log(Boolean(false));//false

  [注意]在Number()方法中空字符串和空白字符串都转换为0,而在Boolean方法中,空字符串""转换为false,而空白字符串" "转换为true

console.log(Number(''));//0
console.log(Number(' '));//0
console.log(Boolean(''));//false
console.log(Boolean(' '));//true

  除了这7个假值外,其他的值转换为布尔值都是true,也称为真值(truthy value)

  [注意]所有对象(包括空对象)的转换结果都是true,甚至连false对应的布尔对象new Boolean(false)也是true

console.log(Boolean({}));//true
console.log(Boolean([]));//true
console.log(Boolean(new Boolean(false)));//true
console.log(Boolean(false));//false
console.log(Boolean(new Boolean(null)));//true
console.log(Boolean(null));//false

实例方法

  Boolean对象是与布尔值对应的包装类型,继承了Object对象的通用方法toString()、toLocaleString()、valueOf()这三个方法

【toString()】

  toString()方法返回Boolean的字符串值('true'或'false')

【toLocaleString()】

  toLocaleString()方法返回Boolean的字符串值('true'或'false')

【valueOf()】

  valueOf()方法返回Boolean的原始布尔值(true或false)

console.log(true.valueOf());//true
console.log(true.toString());//'true'
console.log(true.toLocaleString());//'true'
console.log(Boolean(false).valueOf());//false
console.log(Boolean(false).toString());//'false'
console.log(Boolean(false).toLocaleString());//'false'

以上所述是小编给大家介绍的JavaScript类型系统之布尔Boolean类型详解的全部叙述,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

 类似资料:
  • javascript同样有布尔型,可选值,true or fasle. var marr = true ; document.write(typeof(marr) + "<br>"); var marr = "ture"; document.write(typeof(marr) + "<br>"); 布尔值的 ture 或 fasle是两个完全不同的概念,将marr分别不同给 布尔型true和字符

  • 本文向大家介绍Javascript基础教程之数据类型 (布尔型 Boolean),包括了Javascript基础教程之数据类型 (布尔型 Boolean)的使用技巧和注意事项,需要的朋友参考一下 javascript同样有布尔型,可选值,true or fasle. 布尔值的 ture 或 fasle是两个完全不同的概念,将marr分别不同给 布尔型true和字符串true,用typeof()函数

  • 本文向大家介绍JavaScript类型系统之Object详解,包括了JavaScript类型系统之Object详解的使用技巧和注意事项,需要的朋友参考一下 前面的话   在javascript中,对象为王;Javascript里的几乎所有东西都是对象或者用起来像对象。理解了对象,就理解了Javascript。在javascript中,引用类型是一种数据结构,用于将数据和功能组织在一起,它也常被称为

  • 本文向大家介绍javascript之Boolean类型对象,包括了javascript之Boolean类型对象的使用技巧和注意事项,需要的朋友参考一下 Boolean对象和Java中的Boolean封装类很像,它有两个值:true和false 1、创建Boolean对象 2、Boolean对象的constructor属性是Boolean 例: 输出结果为: true false 说明:它的cons

  • 本文向大家介绍javascript类型系统_正则表达式RegExp类型详解,包括了javascript类型系统_正则表达式RegExp类型详解的使用技巧和注意事项,需要的朋友参考一下 前面的话 前面已经介绍过javascript中正则表达式的基础语法。javascript的RegExp类表示正则表达式,String和RegExp都定义了方法,使用正则表达式可以进行强大的模式匹配和文本检索与替换。本

  • 问题内容: 尝试按照Apple文档(和教程化的)创建Launch Helper时,我似乎遇到了麻烦,原因是将Objective- C代码移植到Swift中…在此方面,谁的编译器再也不过分了案件。 该错误似乎始终是: 我尝试过在多个位置进行转换,以防万一我只是在处理一个多余的,古老的原语(由Obj- C或Core Foundation引入)而无济于事。 为了以防万一,我尝试投射响应: 产生错误: …

  • Dart为布尔数据类型提供内置支持,Dart中的布尔数据类型仅支持两个值 - 和。关键字用于表示Dart中的布尔文字。 在Dart中声明布尔变量的语法,如下所示 - 示例1 执行上面示例代码,得到以下结果 - 示例2 与JavaScript不同,布尔数据类型仅将文字识别为。任何其他值都被视为。考虑以下示例 - 如果在JavaScript中运行,上面的代码段将打印消息 - ,因为如果字符串不为空,结

  • 类型系统 javascript 类型系统可以分为标准类型和对象类型,进一步标准类型又可以分为原始类型和引用类型,而对象类型又可以分为内置对象类型、普通对象类型、自定义对象类型。 标准类型 标准类型共包括了6个分别是: 原始类型(值类型): Undefined undefined Null null Boolean true String 'hello' Number 123 引用类型(对象类型):