JavaScript布尔



一个JavaScript Boolean类型代表一个值:true或false.


Boolean 值

很多时候,在编程中,你需要一个只能有两个值的数据类型,像:

  • YES / NO
  • ON / OFF
  • TRUE / FALSE

为此,JavaScript有布尔数据类型。它只能取值为真或假.


Boolean() 函数

你能使用 Boolean() 函数来查找表达式(或变量)是否为真:

Boolean(10 > 9)        // returns true

让我试试

或者更容易的:

(10 > 9)              // also returns true
10 > 9                // also returns true

让我试试


比较和条件

本章概述了JS比较全面的比较运算符.

本章概述了JS比较全面的条件语句.

以下是一些例子:

操作符 描述 实例
== 等于 if (day == "Monday")
> 大于 if (salary > 9000)
< 小于 if (age < 18)

一个表达式的布尔值为JavaScript比较条件的基础.


有“真实”价值的一切都是真的

100

3.14

-15

"Hello"

"false"

7 + 1 + 3.14

5 < 6

让我试试


没有“真实”的一切都是假的

布尔值 0 是 false:

var x = 0;
Boolean(x);       // returns false

让我试试

布尔值 -0 是 false:

var x = -0;
Boolean(x);       // returns false

让我试试

空字符串""是 false::

var x;
Boolean(x);       // returns false

让我试试

null的布尔值是 false:

var x = null;
Boolean(x);       // returns false

让我试试

false 的布尔值是false:

var x = false;
Boolean(x);       // returns false

让我试试

NaN 的布尔值是 false:

var x = 10 / "H";
Boolean(x);       // returns false

让我试试


布尔值可以是对象

通常JavaScript使用布尔的字面量创建: var x = false

但布尔值,也可以使用new关键字创建新对象: var y = new Boolean(false)

var x = false;
var y = new Boolean(false);

// typeof x returns boolean
// typeof y returns object

让我试试

不要创建布尔对象。它减慢执行速度。new关键字使代码复杂化。这会产生一些意想不到的结果:

当使用= =运算符,相等的布尔值是相等的:

var x = false;             
var y = new Boolean(false);

// (x == y) is true because x and y have equal values

让我试试

当使用===运算符,相等的布尔值不相等,因为===运算符将比较类型和值。

var x = false;             
var y = new Boolean(false);

// (x === y) is false because x and y have different types

让我试试

甚至更糟。对象不能比较:

var x = new Boolean(false);             
var y = new Boolean(false);

// (x == y) is false because objects cannot be compared

让我试试

比较两个JavaScript对象将始终返回false。


完整的布尔参考

完整的布尔参考, 请参考 完整的布尔参考.

参考包含了所有布尔属性和方法的说明和示例。