var bool1 = false
var bool2 = false
bool1 === bool2
最后一条语句返回true,这意味着BOOL1 & BOOL2指向同一个对象实例,我想知道这是为什么呢?为什么布尔值在本质上是单[JavaScript的]
var bool1 = false
var bool2 = false
bool1 === bool2
最后一条语句返回true,这意味着BOOL1 & BOOL2指向同一个对象实例,我想知道这是为什么呢?为什么布尔值在本质上是单[JavaScript的]
boolean
是一个primitive数据类型,而不是一个对象。 strict comparison首先执行检查,如果类型是相同的,然后是值。
两个布尔操作数严格相等,如果两者都
true
或两者都是false
。
如果你采取的Boolean
的对象实例,
的
Boolean
对象是一个布尔值的对象包装程序。
你得到false
与严格的平等。
var bool1 = new Boolean(false),
bool2 = new Boolean(false);
console.log(bool1 === bool2);
三重等于(===)匹配值和类型。因为两者都是原始类型,它返回true。
如果bool1 & bool2实例对象相同,那么更改一个值将会改变另一个值,但是当您更改bool1或bool时,它绝对不会改变其他值。