boolean值

    let falseObject = new Boolean(false); // 创建一个值为false的Boolean对象。
    let result = falseObject && true; //在一个布尔表达式中通过操作将这个对象和一个原始值true组合
    //在布尔算数中,false && true 等于false。 
    //可是这个表达式是对falseObject对象而不是对它的值(false)求值。所有对象在布尔表达式中都会自动转换为true,因此falseObject在这个表达式里实际上是一个true值。
    //那么true && true 结果是true
    console.log(result);//  true
    

    // 这里的falseValue是boolean值而不是一个对象,是把一个false值赋值给了变量falseValue。
    let falseValue = false;
    result = falseValue && true;
    console.log(result);  // false

原始值和引用值(Boolean对象)还有几个区别。首先,typeof操作符对原始值返回“boolean”,但对引用值返回“object”。同样,Boolean对象是Boolean类型的实例,在使用instanceof操作符时返回true,但对原始值返回false。

 console.log(typeof falseObject); // object
 console.log(typeof falseValue); // boolean
 console.log(falseObject instanceof Boolean); // true
 console.log(falseValue instanceof Boolean); // false
posted @ 2021-10-17 16:43  Caesar_Y  阅读(142)  评论(0编辑  收藏  举报