首先,先上代码。
<script>
var x = new Boolean(false);
if (x) {
console.log('布尔对象被转换为true')
}
var y = Boolean(0);
if (y) {
console.log("布尔类型根据原始值进行判断")
}
</script>
以上结果只会输出布尔对象被转换为true
.因为根据w3school描述:Boolean 对象是 Boolean 原始类型的引用类型, 在 Boolean 表达式中,所有对象都会被自动转换为 true
。
所以此表达式只会返回布尔对象的转换结果true,而不会返回布尔对象的值。
而Boolean原始类型则会返回其中的值。