WithCoderWithCoderWithCoder

Javascript基础数据类型之布尔值

    一、布尔值定义

    在编程语言中,布尔值表示真或假、是或否。和其他语言一样,在Javascript中,布尔值有两个值,保留字 true 和 false 。

    布尔值通常用于Javascript中的控制结构中。例如,判断结构if/else语句,如果布尔值为true,就执行第一段逻辑,如果为false,就执行另一段逻辑。通常将一个创建布尔值的比较直接与使用这个比较的语句结合在一起,举例如下:   

    <script>
        var a = 1;
        if (a == 1) {
            console.log("判断为真")
        } else {
            console.log("判断为假")
        }
    </script>

    上面的代码检测变量a是否等于1,如果是,则输出判断为真;否则,输出判断为假。在Javascript中,比较语句的结果通常都是布尔值。

    在Javascript中,任意的值都可以转换为布尔值。下面列出的值会被转换为false:

    • undefined

    • null

    • 0

    • -0

    • NaN

    • "" // 空字符串   

    除了以上列出的值外,所有的对象(数组)都会被转换成true。

        举例如下:

    <script>
        var a = 0;
        if (a) {
            console.log("真");
        } else {
            console.log("假");
        }
        // 以上代码输出:假

        var b = {};
        if (b) {
            console.log("真");
        } else {
            console.log("假");
        }
        // 以上代码输出:真
    </script>

    二、逻辑运算符

    在Javascript中,有三个重要的布尔运算符:

    &&

    “&&”二元运算符执行了逻辑与(AND)操作,当且仅当两个操作数都是真值时,它才返回true;否则,返回false。

    ||

    “||”二元运算符是布尔或(OR)操作,如果两个操作数中有其中之一为真值,它就返回true;只有两个操作数都是假值时,它才返回false。

    !

    “!”一元操作符执行了布尔非(NOT)操作:如果操作数是真值,则返回false;如果是假值,则返回false。

    举例如下:   

    <script>
        var x = 0;
        var y = 0;
        var z = 0;
        // x和y都为0,或z不为0时,条件为真
        if ((x == 0 && y == 0) || !(z == 0)) {
            console.log('真');
        } else {
            console.log('假');
        }
    </script>


欢迎分享交流,转载请注明出处:WithCoder » Javascript基础数据类型之布尔值