JavaScript语言学习总结 基础篇Boolean类型的使用

Boolean类型

Boolean的定义

隐士bool类型转换

实例代码:

<body>
    <script>
        const boolean = new Boolean(false);
        console.log(typeof boolean);
        console.log(boolean.valueOf());
        //Boolean类型对象要用valueof获取boolean值
        //因为Boolean对象一定为真
        if(boolean.valueOf()){  
            console.log("Boolean类型");
        }
        if(boolean){  
            console.log("Boolean类型");
        }
        let hd=true;
        console.log(hd);
        if(hd){
            console.log("直接定义变量,赋值boolean类型可以直接使用");
        }
    </script>
</body>

结果
如果定义的变量不是Boolean类型,而是数值类型或其他类型,在作为bool类型使用时,会隐士转换为bool类型, 数值0隐式转换为false,非0变量转换为true。

<body>
    <script>
        let num=99;
        if(num){
            console.log("数值类型隐式转换为bool类型,非0变量转换为true。");
        }
        //但是数值类型和bool类型比较时,bool类型隐士转换成数值类型
        //false转换成0  true 转换成1  所以下面这个比较为假
        console.log(num==true);
    </script>
</body>

结果
数值类型除了0都为真,字符串类型除了空字符串都为真,因为类型数组和对象为真

<body>
    <script>
        let arr1=[];
        console.log(Number(arr1));//数组为空时,转换为0
        console.log(arr1 == false);

        let arr2=[1];
        console.log(Number(arr2));//只有一个值时,转换为1
        console.log(arr2 == false);

        let arr3=[1,2,3];//存在多个值时,转换为NaN
        console.log(Number(arr3));
        console.log(arr3 == false);

        console.log(Boolean([]));//引用类型对象数组为真
    </script>
</body>

结果

显示转换bool类型

<body>
    <script>
        let num = 0;
        console.log(typeof num);
        //一个感叹号会转换成bool类型后取反,两个感叹号就两次取反转换成bool类型
        num = !!num; 
        console.log(num);
        //第二种显示转换的方法,调用Boolean构造函数
        console.log(Boolean(num));
    </script>
</body>

结果
其他数据类型显示转换方式一样

发布了128 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Ace_bb/article/details/104416359