Conditional Execution

Truthy & Falsy

Conditional execution in JavaScript is dependent on truthy and falsy values. All expressions in JavaScript are truthy unless they are one of the following: 1) false, 2) null, 3) undefined, 4) an empty string, 5) the number zero or 6) NaN.

if

if statement allows for execution of a given block of code only under a specified JavaScript expression is of a truthy value.

if (2 + 2 === 4) {
  console.log('2 and 2 does equal 4.')
} // "2 and 2 does equal 4."

if ... else if

if statement can be extended with else if. The block of code after the else if is executed only when the condition following the if is falsy and the condition following the else if is truthy.

const anArr = [1,2,3]

if (anArr.length === 2) {
  console.log('The array has two items.')
} else if (anArr.length === 3) {
  console.log('The array has threee items.')
} // "The array has threee items."

if ... else

if statement can be extended with else. else is not followed by any condition and the block of code after the else is executed when no condition in if ... else (or if ... else if ... else) statement is truthy.

if (2 + 2 === 5) {
  console.log('2 + 2 does equal 5.')
} else {
  console.log('2 + 2 does not equal 5.')
} // "2 + 2 does not equal 5.."

if ... else if ... else

if statement can be extended with multiple else if and combined with else simultaneously.

switch

Although the statements are not tantamount, in some circumstances in place of if ... else if ... else statement a switch statement can be used. Notice a break keyword is the switch statement.

const otherArr = [1,2,3,4,5]

if (otherArr.length === 2) {
  console.log('The array has two items.')
} else if (otherArr.length === 3) {
  console.log('The array has threee items.')
} else {
  console.log("I don't know how many items the array has.")
} // "I don't know how many items the array has."

switch(otherArr.length) {
  case 2:
    console.log('The array has two items.')
    break
  case 3:
    console.log('The array has threee items.')
    break
  default:
    console.log("I don't know how many items the array has.")
} // "I don't know how many items the array has.

A switch statement checks whether a given expression matches provided cases.

Once a case is matched switch statement executes all statements following the matched case unless a break (or return) keyword is met.

switch uses strict comparison (===) to evaluate whether a given case matches.

Ternary Operator

The ternary operator checks whether a given condition is truthy and depending on that executes and returns the evaluated value of one of two provided expression.

const theAnswer = 2 + 2 === 4 ? '2 + 2 equals 4.' : '2 + 2 does not equal 4.'
console.log(theAnswer) // '2 + 2 does not equal 4.'