为什么布尔值本质上是单身[JavaScript]

JTe*_*eam 1 javascript

var bool1 = false
var bool2 = false

bool1 === bool2 
Run Code Online (Sandbox Code Playgroud)

最后一个语句返回true,这意味着bool1和bool2指向同一个对象实例,我想理解为什么会这样?

Nin*_*olz 5

boolean原始数据类型,而不是对象.的严格比较,如果类型是相同的,则该值首先执行检查.

两个布尔操作数严格相等,如果两者true或者两者都是false.

如果你拿一个对象实例Boolean,

Boolean对象是布尔值的对象包装器.

你得到false严格的平等.

var bool1 = new Boolean(false),
    bool2 = new Boolean(false);

console.log(bool1 === bool2);
Run Code Online (Sandbox Code Playgroud)