JavaScript中的Boolean对象和Boolean数据类型有什么区别?

4

布尔类型有两个字面值:true和false。

不要将原始的布尔类型值true和false与布尔对象的true和false值混淆。布尔对象是原始布尔数据类型的包装器。有关更多信息,请参见布尔对象。

这是什么意思?布尔对象和布尔数据类型有什么区别?


感谢回答,但我仍然不明白何时需要使用其中之一。 - DarkLightA
4个回答

3

这是一个布尔值:

true

这是一个封装了值的布尔对象:
new Boolean(true);

拥有对象会增加一层间接性。尝试以下操作以查看差异:
var a = true;
var b = true;
var c = new Boolean(true);
var d = new Boolean(true);

alert(a == b); // true - two `true` values are equal.
alert(c == d); // false - they are not the same object.

另请参见:


谢谢你的回答,但我仍然不明白何时应该使用其中一个而不是另一个。 - DarkLightA
@DarkLightA:我建议你看一下这个问题:https://dev59.com/SXRA5IYBdhLWcg3wtwSe - Mark Byers

2
我想补充其他答案,一个布尔对象也可以是null,但布尔值不行。最初的回答:Boolean对象可以为null,但boolean值不能。

0

布尔数据类型是一个只能为真或假的值。布尔对象是表示布尔值的对象。


0

布尔数据类型是“布尔”(真或假),而布尔对象是将值转换为布尔数据的对象

您可以在此处找到解释

w3schools


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接