JavaScript logik

JavaScript 布尔(逻辑)代表两个值之一:truefalse.

布尔值

通常,在编程中,您会需要只能有两个值之一的数据类型,比如

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

鉴于此,JavaScript 提供一种布尔数据类型。它只接受值 truefalse.

Boolean() 函数

您可以使用 Boolean() 函数来确定表达式(或变量)是否为真:

Exempel

Boolean(10 > 9)        // 返回 true

Prova själv

或者甚至更简单:

Exempel

(10 > 9)              // 也返回 true
10 > 9                // 也返回 true

Prova själv

比较和条件

JS 比较这一章列出了完整的比较运算符。

JS 条件这一章列出了完整的条件语句。

以下是一些例子:

运算符 描述 Exempel
== 等于 if (day == "Monday")
> 大于 if (salary > 9000)
< 小于 if (age < 18)

表达式的布尔值是JavaScript比较和条件的基础。

所有具有“真实”值的即为 True

Exempel

100
3.14
-15
"Hello"
"false"
7 + 1 + 3.14
5 < 6 

Prova själv

所有不具有“真实”值的即为 False

0(零)的布尔值为 false

var x = 0;
Boolean(x);       // 返回 false

Prova själv

-0 (负零)的布尔值为 false

var x = -0;
Boolean(x);       // 返回 false

Prova själv

""(空值)的布尔值为 false

var x = "";
Boolean(x);       // 返回 false

Prova själv

undefined 的布尔值是 false

var x;
Boolean(x);       // 返回 false

Prova själv

null 的布尔值是 false

var x = null;
Boolean(x);       // 返回 false

Prova själv

false 的布尔值(正如您猜到的)是 false

var x = false;
Boolean(x);       // 返回 false

Prova själv

NaN 的布尔值是 false

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

Prova själv

布尔值可以是对象

通常JavaScript布尔值是由字面量创建的原生值:

var x = false

但是布尔值也可以通过关键字 new 定义为一个对象:

var y = new Boolean(false)

Exempel

var x = false;
var y = new Boolean(false);
// typeof x return boolean
// typeof y return object

Prova själv

Skapa inte booleana objekt. Det kan fördröja exekveringen.

new Nyckelord kan komplicera koden och leda till oväntade resultat:

Operatören ==, lika booleana är olika, eftersom == Operatören ==, lika booleana är lika:

Exempel

var x = false;             
var y = new Boolean(false);
// (x == y) är true eftersom x och y har samma värde

Prova själv

Operatören ==, lika booleana är olika, eftersom === När används === Operatören måste vara lika både i typ och värde.

Exempel

var x = false;             
var y = new Boolean(false);
// (x === y) är false eftersom x och y har olika typer

Prova själv

Eller till och med värre. Objekt kan inte jämföras:

Exempel

var x = new Boolean(false);             
var y = new Boolean(false);
// (x == y) är false eftersom objekt inte kan jämföras

Prova själv

Att jämföra två JavaScript-objekt kommer alltid att returnera false.

Komplett Boolean-handbok

För en fullständig referenshandbok, besök vår JavaScript Boolean-handbok.

Referenshandboken innehåller beskrivningar och exempel på alla booleana egenskaper och metoder.