Saturday, December 28, 2024
Google search engine
HomeLanguagesJavascriptJavascript Short Circuiting Operators

Javascript Short Circuiting Operators

In JavaScript short-circuiting, an expression is evaluated from left to right until it is confirmed that the result of the remaining conditions is not going to affect the already evaluated result. If the result is clear even before the complete evaluation of the expression, it short circuits and the result will be returned. Short circuit evaluation avoids unnecessary work and leads to efficient processing. 

AND(&&) short circuit: In the case of AND, the expression is evaluated until we get one false result because the result will always be false, independent of the further conditions. If there is an expression with &&(logical AND), and the first operand itself is false, then a short circuit occurs, the further expression is not evaluated and false is returned. JavaScript short-circuiting is also very useful because it may be used to replace if else statements. In JavaScript true && expression always evaluates to expression and false && expression always evaluates to false, no matter whether the expression returns a true/false value or not.

Example: Below is an example of the Short circuiting operators.

javascript




<script>
    function gfg() {
        // AND short circuit
        console.log(false && true)
        console.log(true && true)
        // OR short circuit
        console.log(true || false)
        console.log(false || true)
    }
    gfg();
</script>


Output:

false
true
true
true

 Example: Short-circuiting using AND(&&) operator. 

javascript




<script>
    // Since first operand is false and operator
    // is AND, Evaluation stops and false is
    // returned.
    console.log(false && true && true && false)
     
    // Whole expression will be evaluated.
    console.log(true && true && true)
</script>


Output:

false
true

OR(||) short circuit: In the case of OR, the expression is evaluated until we get one true result because the result will always be true, independent of the further conditions. If there is an expression with ||(logical OR), and the first operand itself is true, then a short circuit occurs, evaluation stops, and true is returned.  OR short-circuiting can also be used to replace if else statements just like AND short-circuiting in JavaScript. In JavaScript true||expression always returns true and the false || expression always returns the expression. 

Example: Short-circuiting using OR(||). 

javascript




<script>
    // First operand is true and operator is ||,
    // evaluation stops and true is returned.
    console.log(true || false || false)
     
    // Evaluation stops at the second operand(true).
    console.log(false || true || true || false)
</script>


Output:

true
true

We have a complete list of Javascript Operators, to check those please go through the Javascript Operators Complete Reference article.

RELATED ARTICLES

Most Popular

Recent Comments