在计算机科学中,布尔值是逻辑数据类型,只能具有true或false值。
为此,JavaScript具有布尔数据类型。它只能采用true或false值。
let x = true; let y = false;测试看看‹/›
该Boolean()函数可用于查找表达式是否为true:
Boolean(10 < 22) // 返回 true测试看看‹/›
或者,您也可以使用以下语法:
(5 > 10) // 返回 false (5 < 10) // 返回 true ("Apple" === "Apple") // 返回 true测试看看‹/›
在JavaScript中,布尔条件条件通常用于确定要执行代码的哪些部分(例如if语句中)或重复执行(例如for循环中)。
下面是一些JavaScript伪代码(不是真正的可执行代码),它证明了这一概念。
/* JavaScript if语句 */ if (boolean conditional) { // 条件为真时执行的代码 } if (boolean conditional) { console.log("布尔条件检测结果为true"); } else { console.log("布尔条件检测结果为false"); } /* JavaScript for 循环 */ for (control variable; boolean conditional; counter) { // 如果条件为真,则重复执行的代码 } for (var i = 0; i < 4; i++) { console.log("仅在布尔条件为true时,才打印"); }
以下是布尔条件的一些示例:
操作符 | 描述 | 例 |
---|---|---|
== | 等于 | if (month == "July") |
> | 大于 | if (age > 18) |
< | 少于 | if (age < 18) |
所有值,包括任何对象或字符串“ false”,都会创建一个初始值true。
Boolean(50); // 返回 true Boolean(-50); // 返回 true Boolean(3.14);// 返回 true Boolean("Hello"); // 返回 true Boolean("false"); // 返回 true测试看看‹/›
如果一个值被省略或为0,-0,null,false,NaN,undefined或空字符串(“”),则该对象的初始值为false。
布尔值0(零)为false:
var x = 0; Boolean(x); // 返回 false测试看看‹/›
布尔值-0(减零)为false:
var x = -0; Boolean(x); // 返回 false测试看看‹/›
null的布尔值是false:
var x = null; Boolean(x); // 返回 false测试看看‹/›
false的布尔值为false:
var x = false; Boolean(x); // 返回 false测试看看‹/›
NaN的布尔值是false:
var x = 50 / "Parrot"; // x will be NaN (Not a Number) Boolean(x); // 返回 false测试看看‹/›
undefined的布尔值是false:
var x; Boolean(x); // 返回 false测试看看‹/›
空字符串(“”)的布尔值是false:
var x = ""; Boolean(x); // 返回 false测试看看‹/›
通常,JavaScript布尔值是从字面量创建的原始值:
var x = false;
但是,也可以使用 new关键字将布尔值定义为对象:
var x = new Boolean(false);
为了测试两者之间的差异,我们将初始化一个布尔基元和一个布尔对象。
var x = false; var y = new Boolean(false); typeof x// 返回 boolean typeof y// 返回 object测试看看‹/›
注意:请勿将布尔值创建为对象。这会降低执行速度,并会产生一些意外的结果。
使用==运算符时,相等的布尔值相等:
var x = false; var y = new Boolean(false); document.write(x == y); // 返回true,因为x和y具有相等的值测试看看‹/›
使用===运算符时,相等的布尔值不相等,因为===运算符期望值和类型都相等:
var x = false; var y = new Boolean(false); document.write(x === y); // 返回false,因为x和y具有不同的类型测试看看‹/›
对象无法比较:
var x = new Boolean(false); var y = new Boolean(false); document.write(x == y); // 因为x和y是不同的对象,所以返回false document.write(x === y); // 因为x和y是不同的对象,所以返回false测试看看‹/›
注意(==)和(===)之间的区别。比较两个JavaScript对象将始终返回false。
有关完整的属性和方法参考,请访问我们的JavaScript布尔参考。
参考部分包含所有布尔属性和方法的描述和示例。