Boolean类型(基本与包装类型)

article/2025/8/19 1:39:47

前面的话

当 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对象


http://chatgpt.dhexx.cn/article/sg3sFKuT.shtml

相关文章

34、Java 中有了基本数据类型,为什么还需要有包装类型?包装类型是啥?

文章目录 一、引入&#xff08;基本数据类型弊端&#xff09;二、包装类(1) 模拟包装类的实现(2) 包装类&#xff08;Wrapper Class&#xff09;(3) 自动装箱、自动拆箱① 自动装箱② 自动拆箱 三、整数类型包装类细节 ☆ 一、引入&#xff08;基本数据类型弊端&#xff09; &…

包装类和基本类型

什么是包装类 所谓包装类&#xff0c;就是能够直接将简单类型的变量表示为一个类&#xff0c;在执行变量类型的相互转换时&#xff0c;我们会大量使用这些包装类。 包装类 包装类有以下用途 1.集合不允许存放基本数据类型&#xff0c;故常用包装类 2.包含了每种基本类型的相…

包装类型和基本类型

包装类型和基本类型 Java中有八种基本数据类型&#xff0c;分别对应着八大包装类型&#xff0c;因为包装类型的实例都存在于堆中&#xff0c;所以包装类型也称为引用类型。 基本类型属于原始数据类型&#xff0c;变量中存储的就是原始值。包装类型属于引用数据类型&#xff0…

Java 的八大基本类型及其包装类型(超级详细)

Java 中有八种内置的基本数据类型&#xff0c;他们分别是 byte、short、int、long、float、double、char 和 boolean&#xff0c;其中&#xff0c;byte、short、int 和 long 都是用来表示整数&#xff0c;float 和 double 是用来表示浮点数的&#xff0c;那它们之间有什么区别和…

Java 八大包装类(超详细!)

一、8种基本数据类型对应的包装类型名 基本数据类型包装类型bytejava.lang.Byte&#xff08;父类Number&#xff09;shortjava.lang.Short&#xff08;父类Number&#xff09;intjava.lang.Integer&#xff08;父类Number&#xff09;longjava.lang.Long&#xff08;父类Numbe…

关于InnoDB的读写锁类型以及加锁方式

&#xff08;本文为了方便&#xff0c;英文关键词都都采用小写方式&#xff0c;相关知识点会简单介绍&#xff0c;争取做到可以独立阅读&#xff09; 文章开始我会先介绍本文需要的知识点如下&#xff1a; innodb的主键索引&#xff08;一级索引&#xff09;和二级索引&#x…

C++线程中的几类锁

C线程中的几类锁 多线程中的锁主要有五类&#xff1a;互斥锁、条件锁、自旋锁、读写锁、递归锁。一般而言&#xff0c;所得功能与性能成反比。而且我们一般不使用递归锁&#xff08;C提供std::recursive_mutex&#xff09;&#xff0c;这里不做介绍。 互斥锁 互斥锁用于控制多…

Oracle - 锁

锁概念 锁出现在数据共享的环境中&#xff0c;它是一种机制&#xff0c;在访问相同资源时&#xff0c;可以防止事务之间的破坏性交互。例如&#xff0c;在多个会话同时操作某表时&#xff0c;优先操作的会话需要对其锁定。 事务的分离性要求当前事务不能影响其他的事务&#…

用友数据库错误“未能读取并闩锁页(1:3355)(用闩锁类型SH)”修复

客户硬盘无法识别&#xff0c;检测后&#xff0c;硬盘有坏道&#xff0c;由于数据库正在坏道上&#xff0c;所以恢复出来的用友数据库无法附加。 通过无日志附加后&#xff0c;做DBCC检测数据库出现以下错误&#xff1a; “消息8966&#xff0c;级别16&#xff0c;状态1&#x…

Mysql中锁的类型有哪些?

Mysql中锁的类型有哪些&#xff1f; 1. 基于锁的属性分类&#xff1a;共享锁、排他锁2. 基于锁的粒度分类&#xff1a;行级锁&#xff08;INNODB&#xff09;、表级锁&#xff08;INNODB、MYISAM&#xff09;、页级锁&#xff08;BDB引擎&#xff09;、记录锁、间隙锁、临键锁。…

mysql 常见锁的类型(一)

文章目录 一、锁的分类1.1 加锁的目的1.2 锁的类别 二、乐观锁和悲观锁2.1. 乐观锁2.2. 悲观锁&#xff1a; 三、共享锁与排他锁四、表锁五、意向锁六、行级锁七、记录锁&#xff08;Record Locks&#xff09;八、间隙锁&#xff08;Gap Locks&#xff09;九、临键锁&#xff0…

MySQL-InnoDB常用锁类型解析

Shared&#xff08;乐观锁&#xff09; and Exclusive Locks&#xff08;互斥锁&#xff09;&#xff1a; InnoDB有两种锁类型&#xff0c;Shared&#xff08;s&#xff09; and Exclusive&#xff08;x&#xff09; Locks&#xff08;乐观锁和互斥锁&#xff09;。 Shared&…

MySql InnoDB锁类型

MySql InnoDB锁类型 从类型上来分类&#xff0c;InnoDB存储引擎实现了两种标准的锁 共享锁(S-Lock)&#xff1a;允许事务读一行数据 排它锁(X-Lock)&#xff1a;允许事务删除或者更新一行数据 如果一个事务获取了S锁&#xff0c;那么其他事务也可以立即获得S锁&#xff0c;…

锁的分类总结

锁的分类是从不同角度去看的。同一个锁也可以同时属于多种类型。 一、乐观锁与悲观锁 1. 互斥同步锁的劣势 阻塞和唤醒会带来性能的劣势 用户态和核心态切换上下文切换检查是否有被阻塞线程需要被唤醒等等 可能出现永久阻塞的问题&#xff1a;持有锁的线程永久阻塞了&#…

锁的介绍和分类(轻量级锁 重量级锁 偏向锁 自旋锁 互斥锁)

目录 公平锁 非公平锁 非公平锁 公平锁 可重入锁 不可重入锁 可重入锁&#xff08;递归锁&#xff09; 不可重入锁 轻量级锁 重量级锁 偏向锁 重量级锁 自旋锁(循环上锁) 轻量级锁 轻量级锁的释放 偏向锁 自旋锁和互斥锁 自旋锁 互斥锁 为何要使用自旋锁 自旋…

最全锁种类

你可能听说过很多锁&#xff0c;也看到过很多文章讲解锁&#xff0c;这篇我在这里将对锁的不同分类进行描述锁的设计 互斥锁–共享锁 互斥锁&#xff1a;顾名思义&#xff0c;就是互斥的&#xff0c;意思就是当前同步代码块只能被一个线程访问&#xff0c;sync、reentrantlock、…

锁的类型有哪些

锁的类型有哪些 基于锁的属性分类&#xff1a;共享锁、排他锁。 基于锁的粒度分类&#xff1a;行级锁(INNODB)、表级锁(INNODB、MYISAM)、页级锁(BDB引擎 )、记录锁、间隙锁、临键锁。 基于锁的状态分类&#xff1a;意向共享锁、意向排它锁 共享锁(Share Lock) 共享锁又称读锁&…

Kettle使用教程之Job使用

1、Kettle的Job使用十分简单&#xff0c;这里也只是演示比较简单的操作&#xff0c;创建Job 2、点击转换&#xff0c;然后点击浏览&#xff0c;选择转换对象 3、执行按钮&#xff0c;运行该转换 4、如果需要长期的进行定时转换&#xff0c;可以在Job中的start控件进行配置 转载…

Kettle使用教程之数据同步

Kettle使用教程之数据同步 数据模型原型如下&#xff1a; 1、表输入&#xff0c;针对最新的数据输入的表 2、目标表&#xff0c;需要更新的表 3、两个表都需要进行排序操作 4、合并&#xff0c;根据id进行合并 5、数据同步(包括更新、插入、删除) 6、点击运行&#xff0c;就可…

ETL开发工具KETTLE使用教程

Kettle的建立数据库连接、使用kettle进行简单的全量对比插入更新&#xff1a;kettle会自动对比用户设置的对比字段&#xff0c;若目标表不存在该字段&#xff0c;则新插入该条记录。若存在&#xff0c;则更新。 Kettle简介&#xff1a;Kettle是一款国外开源的ETL工具&#xff0…