JavaScript Booleans

    In JavaScript, there are two values that represent Boolean Data type true and false.

    Boolean Values

    Often in programming, we come across the situation where we want a data type that can evaluate results in the following formats.

    • Yes or No
    • On or Off
    • True or False

    In such situations, we can use a Boolean data type, that return result in true or false value.

    JS Boolean() Function

    Boolean() is a JavaScript inbuilt function that can be used to find if an expression is true or false . syntax

    Boolean(expression)

    Example

    <script>
        result1 = Boolean(20>3);
        result2 = Boolean(20<3);
    
        console.log(result1)
        console.log(result2)
    </script>

    Output (console)

    true
    false

    For many cases, we even do not need to use the Boolean function we can because the comparison expression always returns a Boolean value. Example

    <script>
        result1 = 20>3;
        result2 = 20<3;
    
        console.log(result1);
        console.log(result2);
    </script>

    Output (console)

    true
    false

    Boolean value with comparison and condition

    When we compare two or more than two values using comparison operators we always get results in boolean values either true or false. That's the reason why comparison expressions used with conditional statements like if...else and switch case. Here are some example of comparison operator with conditional expression

    Comparison Operators Description Conditional Statement
    == Equal to if (age ==20)
    > Greater than if (age > 18)
    < Less than if (age < 18)
    <= Less than equal to if (age <=18)
    >= Greater than equal to if(age >= 18)

    Truth Value in JS

    Every value in JavaScript represents the truth value, which means every value can be represented as a true boolean value. Example

    Boolean(true);     //true
    Boolean("1")        //true
    Boolean("Hello")    //true
    Boolean(100)         //true
    Boolean([])             //true
    Boolean("false")     //true

    In the above example "false" is a string, not a boolean value that's why its result returns true.

    JS falsy value

    No value and 0 represent flasy value in JavaScript, which means their boolean result is false. Example

    Boolean(false);     //false
    Boolean(0);         //false
    Boolean("");        //false
    Boolean(null);      //false
    Boolean(undefined);     //false
    Boolean(NaN);            //false
    
    

    Boolean Objects

    By default boolean is a primitive data type, by far all the results or output we see are the primitive booleans value. Example

    <script>
        result1 = true;
        result2 = 1>2;
        result3 = Boolean("hello");
    
        console.log(typeof result1);
        console.log(typeof result2);
        console.log(typeof result3);
    </script>

    Output (console)

    boolean
    boolean
    boolean

    As you can see that the type of all the above results is boolean that represents a primitive data type. But JS also provides a new Boolean() constructor object that can be used to create a Boolean object. Example

    <script>
        result  = new Boolean(true);
    
        console.log(typeof result);
    </script>

    Output (console)

    object

    When we create a Boolean value using the new Boolean() constructor then it creates a boolean object, not a boolean primitive data type. The result would be similar for both primitive and object boolean types, but primitive data types are faster than objects.

    Summary

    • There are two boolean values in JavaScript true and false.
    • To represent a boolean value we can either use the true or false keyword or use the Boolean() function.
    • All the comparison expressions also return a boolean value.
    • Conditional statements like if...else work on boolean value.
    • Using the new Boolean() constructor we can create a boolean object.

    People are also reading: