JavaScript 布尔对象表示两个值:“true”或“false”。你可以使用带有 'new' 关键字的 Boolean() 构造函数创建一个布尔对象。它采用一个值作为参数并返回一个布尔对象。如果省略 value 参数或为 0、-0、null、false、NaN、undefined 或空字符串 (“”),则对象的初始值为 false。在编程中,if-else 语句根据条件表达式的布尔值计算 'if' 块或 'else' 块的代码。
语法
使用以下语法创建布尔对象。
const val = new Boolean(value);
这里 value 是要转换为 Boolean 对象的表达式。
它返回一个包含布尔值的对象。
您可以通过为变量分配布尔值在 JavaScript 中创建布尔基元 -
let bool = true;
布尔属性
以下是布尔对象的属性列表 −
属性 | 描述 |
---|---|
constructor |
返回对创建对象的 Boolean 函数的引用。 |
prototype |
prototype 属性允许您向对象添加属性和方法。 |
在下面的部分中,我们将提供一些示例来说明 Boolean 对象的属性。
布尔方法
以下是 Boolean 对象的方法列表及其描述。
方法 | 描述 |
---|---|
toSource() |
返回一个包含 Boolean 对象源的字符串;您可以使用此字符串创建等效对象。 |
toString() |
返回 “true” 或 “false” 的字符串,具体取决于对象的值。 |
valueOf() |
返回 Boolean 对象的基元值。 |
在以下部分中,我们将提供一些示例来演示 Boolean 方法的用法。
示例:创建布尔对象
在下面的示例中,我们定义了 boolObj 变量并存储了布尔对象。
我们使用 typeof 运算符来检查类型 boolObj 变量。在输出中,您可以观察到 boolObj 的类型是对象。
<html>
<body>
<p id = "output"> </p>
<script>
const boolObj = new Boolean('true'); // 定义布尔对象
document.getElementById("output").innerHTML = "typof boolObj == " + typeof boolObj;
</script>
</body>
</html>
输出
JavaScript boolean() 函数
Boolean() 函数允许开发人员在评估作为参数传递的特定表达式后获取布尔值。
Boolean(Expression);
此处 value 是一个表达式,用于计算和获取相关的布尔值。Boolean() 函数根据作为参数传递的表达式返回 true 或 false。
例在下面的示例中,我们使用了 Boolean() 函数,并将不同的表达式作为参数传递。在输出中,您可以观察 Boolean() 函数返回的布尔值。
<html>
<body>
<p id = "output"> </p>
<script>
let res = Boolean(100 > 90);
document.getElementById("output").innerHTML = "Boolean(100 > 90) : " + res + "<br>";
res = Boolean(100 < 90);
document.getElementById("output").innerHTML = "Boolean(100 < 90) : " + res + "<br>";
res = 100 == 90;
document.getElementById("output").innerHTML = "100 == 90 : " + res + "<br>";
</script>
</body>
</html>
输出
Boolean(100 < 90) : false
100 == 90 : false
JavaScript Falsy 布尔值
Boolean() 函数为 falsy 值返回 false。有六个假值: false、null、undefined、0(零)、“”(空字符串)、NaN。
让我们看看下面的示例。
例在下面的代码中,我们已将所有假值作为 Boolean() 函数的参数传递,并打印了 Boolean() 函数的返回值。Boolean() 函数对所有 7 个值都返回 false。
<html>
<body>
<p id = "demo"> </p>
<script>
document.getElementById("demo").innerHTML =
"Boolean(0) : " + Boolean(0) + "<br>" +
"Boolean(-0) : " + Boolean(-0) + "<br>" +
"Boolean(null) : " + Boolean(null) + "<br>" +
"Boolean(undefined) : " + Boolean(undefined) + "<br>" +
"Boolean('') : " + Boolean('') + "<br>" +
"Boolean(NaN) : " + Boolean(NaN) + "<br>" +
"Boolean(false) : " + Boolean(false);
</script>
</body>
</html>
输出
Boolean(-0) : false
Boolean(null) : false
Boolean(undefined) : false
Boolean('') : false
Boolean(NaN) : false
Boolean(false) : false
所有其他值均为 true,并且 Boolean() 函数返回 true。
例
在下面的代码中,我们将 truthy 值作为 Boolean() 函数参数传递。Boolean() 函数对所有真值返回 true。即使我们已将对象和函数作为 Boolean() 函数参数传递,它也会返回 true。
<html>
<body>
<p id = "demo"> </p>
<script>
document.getElementById("demo").innerHTML =
"Boolean(1) : " + Boolean(1) + "<br>" +
"Boolean(-1) : " + Boolean(-1) + "<br>" +
"Boolean('Hello') : " + Boolean('Hello') + "<br>" +
"Boolean(true) : " + Boolean(true) + "<br>" +
"Boolean(10.99) : " + Boolean(10.99) + "<br>" +
"Boolean({name: 'John'}) : " + Boolean({ name: 'John' }) + "<br>" +
"Boolean(() => {return 1;}) : " + Boolean(() => { return 1; });
</script>
</body>
</html>
输出
Boolean(-1) : true
Boolean('Hello') : true
Boolean(true) : true
Boolean(10.99) : true
Boolean({name: 'John'}) : true
Boolean(() => {return 1;}) : true