Monday, February 29, 2016

Conditionals Statements and Boolean Logical Operator in JavaScript

Everything in our day to day life is impacted by conditions. Similarly in Java Script too conditions play a vital role in code execution and its structure. Every JS function must be designed as per the condition of the work we are looking to be done by it. There are many conditions in which the code can be written and simultaneously a code can also be written in many ways following a similar condition. We will see few e.g. below to understand this in a better way but before that lets understand few conditional statements.

If, else, else-if and switch statements in JavaScript :

The word if and else itself states it clearly that certain things to be done only if following rule is fulfilled Or else don’t do it or do something else.

Suppose if you want to do something only in any particular condition then you use the if statement. These are used for much complicated functions with multiple conditions as are easy to understand and maintain that switch.
If statement 
Example:

If we want an alert “Yay its Banana” only if the fruit selected is Apple.
<script type="text/javascript">
      var fruit = "Banana";
      if(fruit == 'Banana'){
      alert('Yay Its Banana'); //Yay Its Banana
}
</script>

If-else statement 
Similarly as above eg. there was just one condition but now if we want more than a condition like alert “Its still Banana” only if Banana is the fruit selected or alert “Are you sure?”
<script type="text/javascript">
      var fruit = "Orange";
     if(fruit == 'Banana')
    {
     alert('Its still Banana);
      }
      else
     {
        alert("Are you sure ?"); //Are you sure ? (This is because 1st condition is not fulfilled hence second the else one initiated.)
    }
</script>

else-if  statement 
Similarly if you want multiple conditions you can use it as many times as you need as per the conditions but if one condition use if, If two conditions use if and else but if more that two conditions use else if further till last one like in e.g. below.

<script type="text/javascript">
      var fruit = "Mango";
      if(fruit == 'Banana'){
      alert('Yay Its Banana');
      }
       else if(fruit == 'Appie')
      {
      alert("Have you selected Apple ?");
     }
     else if(fruit == 'Mango'){
     alert("Have you selected Mango ?"); //Have you selected Mango ? (As 3rd condition  fulfilled.)
     }
     else
    {
    alert(“Please choose any fruit.”);
   }
</script>

Nested Conditions:
Nesting means a condition under a condition. Like in the below eg. under first if condition you have 1 more if condition that if color is red and color2 is green change bg color to yellow. Or if color 1 still remains red change bg to red. 
Eg.
<!DOCTYPE html>
<html>
<head>
          <title>JavaScript Basics</title>
          <style type="text/css">
                  .bgRed{background-color: red}
                  .bgGreen{background-color: green}
          </style>
</head>
<body>
           <button id="btn">Change Color</button>
           <script type="text/javascript">
           function colorChanger(){
                    var getColor = prompt('Enter a color');
                    var getColor2 = prompt('Enter a color');
                    if(getColor=='red'){
                        if(getColor2=='green'){
                                   document.body.style.backgroundColor = 'yellow';
                        }else{
                                 document.body.style.backgroundColor = 'red';
                        }
             }else if(getColor=='blue' && getColor2=='green'){
             document.body.style.backgroundColor = 'cyan';
             }else if(getColor=='red' && getColor2=='blue'){
             document.body.style.backgroundColor = 'magenta';
             }else{
                      document.body.style.backgroundColor = 'white';
            }
      }
      document.getElementById('btn').onclick = colorChanger;
        </script>
</body>
</html>



Like if else condition is used for multiple conditions similarly switch is also used for multiple conditions. But in a switch we cannot use assignment operators to define less than or greater than values, we have to give exact values for it and no dynamic values can be given in it.

Example:
<!DOCTYPE html>
<html>
<head>
          <title>JavaScript Basics</title>
          <style type="text/css">
                .bgRed{background-color: red}
                .bgGreen{background-color: green}
         </style>
</head>
<body>
          <button id="btn">Change Color</button>
          <script type="text/javascript">
          function colorChanger(){
                  var getColor = prompt('Enter a color');
                  switch(getColor){
                            case 'red':
                  document.body.className = 'bgRed';
                  break;
                  case 'green':
                  document.body.className = 'bgGreen'; //Here no assignment
operators are used just values are assigned in case as green, red etc …
                 break;
                 default:
                 alert('Enter red or green color');
                 break;
        }
   }
           document.getElementById('btn').onclick = colorChanger;
</script>
</body>
</html>

Why Boolean LogicalOperator are important to work with conditions in JavaScript?
  • && (And)
  • || (Or)
  • ! (Not Equal to)
If suppose we have a case where we want a code to be run specifically if we get both of the 2 conditions fulfilled.

Example: I want an alert that “Its correct” only if both of these conditions are fulfilled where in fruit selected is Apple and taste selected is Sweet.

       <script type="text/javascript">
       var fruit = "Apple";
       var taste = "Sweet";
       if((fruit == 'Apple') && (taste == 'Sweet')){ //Thats correct Both conditions are must to be fulfilled.
           alert("Thats correct");
       }
       </script>

Eg. Similarly if we want any one condition to be fulfilled where in fruits Apple is selected Or if taste Sweet is selected.
      <script type="text/javascript">
                    var fruit = "Mango";
                    var taste = "Sweet";
                    if((fruit == 'Apple') || (taste == 'Sweet')){ //One condition is fulfilled
                              alert("One condition is fulfilled");
             }
     </script>

Eg. If we want that the selected variable should not have a particular value ie negation condition, we can do it with not equal condition Operator.

<script type="text/javascript">
    var game = "Cricket";
    if((fruit != 'Cricket'){ //Yes its not !
    alert("Yes its not !");
}
</script>

What are Conditional Operator or Ternary Operator?
It is a short condition to be used in some places. The syntax of conditional operator is:
var result = (condition) ? true expression : false expression;
Example:
var age = 45;
var result = (age == 45)?'You are 45yrs old.':'You are not 45yrs old.';
alert(result); //You are 45yrs old.

Summary:
We can use various available conditionals in JavaScript according to the situation. At first glance all the conditions look like an alternative of each other but seriously speaking this is not the case always. As much you will indulge in them more sense you will acquire to use them.

No comments:

Post a Comment

Featured Post

ADMEC Multimedia Institute Scholarship Program

The ADMEC Multimedia Institute scholarship program aims to select and trained talented non working female, married woman and non married m...