JavaScript 逻辑
JavaScript 布尔(逻辑)代表两个值之一:true
或 false
。
布尔值
通常,在编程中,您会需要只能有两个值之一的数据类型,比如
- YES / NO
- ON / OFF
- TRUE / FALSE
鉴于此,JavaScript 提供一种布尔数据类型。它只接受值 true 或 false。
Boolean() 函数
您可以使用 Boolean()
函数来确定表达式(或变量)是否为真:
インスタンス
Boolean(10 > 9) // 返回 true
或者甚至更简单:
インスタンス
(10 > 9) // 也返回 true 10 > 9 // 也返回 true
比较和条件
JS 比较这一章列出了完整的比较运算符。
JS 条件这一章列出了完整的条件语句。
下面是一些例子:
运算符 | 描述 | インスタンス |
---|---|---|
== | 等于 | if (day == "Monday") |
> | 大于 | if (salary > 9000) |
< | 小于 | if (age < 18) |
表达式的布尔值是 JavaScript 比较和条件的基础。
所有不具有“真实”值的即为 False
0(零)的布尔值为 false:
var x = 0; Boolean(x); // 返回 false
-0 (负零)的布尔值为 false:
var x = -0; Boolean(x); // 返回 false
""(空值)的布尔值为 false:
var x = ""; Boolean(x); // 返回 false
undefined 的布尔值是 false:
var x; Boolean(x); // 返回 false
null 的布尔值是 false:
var x = null; Boolean(x); // 返回 false
false 的布尔值(正如您猜到的)是 false:
var x = false; Boolean(x); // 返回 false
NaN 的布尔值是 false:
var x = 10 / "H"; Boolean(x); // 返回 false
布尔可以是对象
通常 JavaScript 布尔是由字面量创建的原始值:
var x = false
但是布尔也可以通过关键词 new
作为对象来定义:
var y = new Boolean(false)
インスタンス
var x = false; var y = new Boolean(false); // typeof x 返回 boolean // typeof y 返回 object
ブールオブジェクトを作成しないでください。それは実行速度を遅らせます。
new
キーワードはコードを複雑にし、予期せぬ結果を引き起こす可能性があります:
を使用するとき ==
演算子を使用すると、同じブール値は同じとみなされます:
インスタンス
var x = false; var y = new Boolean(false); // (x == y) は true です、なぜなら x と y は同じ値を持っているからです
を使用するとき ===
演算子を使用すると、同じブール値が異なるとみなされます、なぜなら ===
演算子は型と値の両方で一致する必要があります。
インスタンス
var x = false; var y = new Boolean(false); // (x === y) は false です、なぜなら x と y の型が異なるからです
またはさらに悪いです。オブジェクトは比較できません:
インスタンス
var x = new Boolean(false); var y = new Boolean(false); // (x == y) は false です、なぜならオブジェクトは比較できません
二つの JavaScript オブジェクトを比較すると常に false が返されます。
完全なブールリファレンスマニュアル
完全なリファレンスマニュアルが必要な場合は、以下の JavaScript ブールリファレンスマニュアル。
リファレンスマニュアルにはすべてのブール属性とメソッドの説明と例が含まれています。