在计算机科学中,布尔值是逻辑数据类型,只能具有true或false值。
为此,JavaScript具有布尔数据类型。它只能采用true或false值。
let x = true;
let y = false;
Boolean()函数
该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) |
一切带有“value”的东西都是真实的
所有值,包括任何对象或字符串“ false”,都会创建一个初始值true。
Boolean(50); // 返回 true
Boolean(-50); // 返回 true
Boolean(3.14);// 返回 true
Boolean("Hello"); // 返回 true
Boolean("false"); // 返回 true
没有“value”的一切都是假的
如果一个值被省略或为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。