深入了解JavaScript布尔类型(Boolean)

布尔类型用于确定某个值在特定条件下是真还是假。在 JavaScript 中,布尔类型被用在条件分支和循环语句等各种过程中。

所以,这一次,我将解释什么是布尔类型以及判断结果。

布尔类型

布尔类型只有两个值:真或假。

true表示真(正确),false表示假(不正确)。true和false值称为布尔值或真假值。

使用typeof运算符查询true和false的类型,会标记为“boolean”。

console.log(typeof true); // "boolean"
console.log(typeof false); // "boolean"

因此,布尔类型可以存储真或假值。

let over16YearsOld = true; // 16岁以上可以
let under15YearsOld = false; // 15岁以下不宜

此外,在进行比较决策时通常使用布尔类型。

console.log(3 < 5); // true
console.log('javascript' === 'JavaScript'); // false

例如,在某些情况下,如果值正确,则处理1;如果值不正确,则处理2。

在JavaScript中,if语句和for语句就是此类语句。

if (3 < 5) { //值为true,处理1
  console.log('1: 值正确'); 
} else { 
  console.log('2: 值不正确');
}

// "1: 值正确"

深入了解JavaScript布尔类型(Boolean)

布尔类型的判断

在某些条件下编写程序时,了解布尔类型的计算结果是真还是假很重要。

现在让我们看看哪些值被认为是真,哪些被认为是假。

这里,我们以if语句为例说明如何判断逻辑类型。

值被认为是假的

第一个是被认为是假(false)的值。

因为其他的值都是真(true),所以先记住这些就方便了。

为假(false)的值有8个

意义
false 虚假关键词
0 假关键字
false 数字零
-0 数字的负零
0n BigInt类型的0n
"" 空字符串
null 值不存在
undefined 未定义的值
NaN 非数字值

如果这些值写在 if 语句的条件表达式中,就会被评估为 false,不会执行 if 块的处理。

if (false) {}
if (0) {}
if (-0) {}
if (0n) {}
if ("") {}
if (null) {}
if (undefined) {}
if (NaN) {}

下面,由于在if语句的条件表达式中写入了一个空字符串,所以判断为false,不执行if块,执行else块的处理。

if ("") { 
  console.log('true');
} else {
  console.log('false'); 
}

// "false"

值被认为是真的

意义
true 真假关键词
10 数字
"字符串" 字符串
1n 长整数
{} 对象
[] 空字符串
null 数组

如果这些值写在 if 语句的条件表达式中,就会被评估为 true,并执行 if 块的处理。

if (true) {}
if (10) {}
if ("字符串") {}
if (1n) {}
if ({}) {}
if ([]) {}

下面,if语句的条件表达式包含值100,所以判断为真,执行if块中写的处理。

if (100) { 
  console.log('true');
} else {
  console.log('false'); 
}

// "true"

结语

在需要逻辑值的情况下,例如 if 语句,如果您不了解该值是真还是假,则可能无法获得预期的处理结果。

此时,请记住正确(true)的值和错误(false)的值。