JavaScript - 布尔对象



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>

输出

typof boolObj == object

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) : true
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(-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(-1) : true
Boolean('Hello') : true
Boolean(true) : true
Boolean(10.99) : true
Boolean({name: 'John'}) : true
Boolean(() => {return 1;}) : true