Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

Learn JavaScript Journey Part 3

Learning JavaScript for the third day in a row. Learning a lot. Little by little.

Learning Java Script Journey 3

And for this day things will escalate and we will start learning something more advanced. Lets hope. This part got stuck for various reasons, but we are resuming the work now.

In this part we will learn:

  • Control Flow
  • if/else Statements
  • True and False Values
  • Comparison Operators
  • switch
  • Ternary Operator

 

Control Flow

Control flow statements enable JavaScript programs to make decisions by executing code based on a condition. If a given condition is true, we execute one block of code. If the statement is false, we execute another block of code.

Basically it is a simple if / else statements letting you control the actions of your code. Logical statements. All conditions are evaluated to be truthy or falsy.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
let userName = 'Tarantulo';
let knowsJavaScript = false;
if (knowsJavaScript && userName) {
console.log('Great, ' + userName + '! Get ready to practice your JavaScript!');
} else if (knowsJavaScript) {
console.log('Great! Get ready to practice your JavaScript!');
} else if (userName) {
console.log('Great, ' + userName + '! Get ready to learn something new!');
} else {
console.log('Great! Get ready to learn something new!');
}
let userName = 'Tarantulo'; let knowsJavaScript = false; if (knowsJavaScript && userName) { console.log('Great, ' + userName + '! Get ready to practice your JavaScript!'); } else if (knowsJavaScript) { console.log('Great! Get ready to practice your JavaScript!'); } else if (userName) { console.log('Great, ' + userName + '! Get ready to learn something new!'); } else { console.log('Great! Get ready to learn something new!'); }
let userName = 'Tarantulo';
let knowsJavaScript = false;

if (knowsJavaScript && userName) {
  console.log('Great, ' + userName + '! Get ready to practice your JavaScript!');
} else if (knowsJavaScript) {
  console.log('Great! Get ready to practice your JavaScript!');
} else if (userName) {
  console.log('Great, ' + userName + '! Get ready to learn something new!');
} else {
  console.log('Great! Get ready to learn something new!');
}

Output:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Great, Tarantulo! Get ready to learn something new!
Great, Tarantulo! Get ready to learn something new!
Great, Tarantulo! Get ready to learn something new!

if/else Statements

“If something is true, let’s do option 1, or else, if it is false, let’s do option 2.” This sentence looks fairly similar when we write it with JavaScript. if/else statements are how programs can process yes/no questions programmatically.

if/else statements make binary decisions and execute different code based on conditions.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
let needsCoffee = true;
if (needsCoffee === true) {console.log('Finding coffee');
} else {
console.log('Keep on going!')
}
let isSoccerFan = true;
if (isSoccerFan = true) {console.log('Goal!')}
else {
console.log('No goal!');
}
let needsCoffee = true; if (needsCoffee === true) {console.log('Finding coffee'); } else { console.log('Keep on going!') } let isSoccerFan = true; if (isSoccerFan = true) {console.log('Goal!')} else { console.log('No goal!'); }
let needsCoffee = true;
if (needsCoffee === true) {console.log('Finding coffee');
} else {
  console.log('Keep on going!')
}

let isSoccerFan = true;
if (isSoccerFan = true) {console.log('Goal!')} 
else {
  console.log('No goal!');
}

Output:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Finding coffee
Goal!
Finding coffee Goal!
Finding coffee
Goal!

True and False Values

In JavaScript, all variables and conditions have a truthy or falsy value. So basically if the value is true then it is as 1 and if it is false then it is falsy code acts as if it is 0.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
let variableOne = 'I Exist!';
if (variableOne) {
// This code will run because variableOne contains a truthy value.
} else {
// This code will not run because the first block ran.
}
let variableOne = 'I Exist!'; if (variableOne) { // This code will run because variableOne contains a truthy value. } else { // This code will not run because the first block ran. }
let variableOne = 'I Exist!';
if (variableOne) {
// This code will run because variableOne contains a truthy value.
} else {
// This code will not run because the first block ran.
}

All variables that have been created and set are truthy (and will evaluate to true if they are the condition of a control flow statement) unless they contain one of the seven values listed below:

  • false
  • 0 and -0
  • "" and '' (empty strings)
  • null
  • undefined
  • NaN (Not a Number)
  • document.all (something you will rarely encounter)

For example:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
let wordCount = 1;
if (wordCount) {
console.log("Great! You've started your work!");
} else {
console.log('Better get to work!');
}
let favoritePhrase = 'Work';
if (favoritePhrase) {
console.log("This string doesn't seem to be empty.");
} else {
console.log('This string is definitely empty.');
}
let wordCount = 1; if (wordCount) { console.log("Great! You've started your work!"); } else { console.log('Better get to work!'); } let favoritePhrase = 'Work'; if (favoritePhrase) { console.log("This string doesn't seem to be empty."); } else { console.log('This string is definitely empty.'); }
let wordCount = 1;

if (wordCount) {
  console.log("Great! You've started your work!");
} else {
  console.log('Better get to work!');
}

let favoritePhrase = 'Work';

if (favoritePhrase) {
  console.log("This string doesn't seem to be empty.");
} else {
  console.log('This string is definitely empty.');
}

Output:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Great! You've started your work!
This string doesn't seem to be empty.
Great! You've started your work! This string doesn't seem to be empty.
Great! You've started your work!
This string doesn't seem to be empty.

True and False Values II

In programming, we often evaluate whether or not an expression is true or truthy. Conveniently, JavaScript provides a shorthand notation for this.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
let isRaining = true;
if (isRaining) {
console.log('Carry an umbrella!');
} else {
console.log('Enjoy the sun!');
}
let isRaining = true; if (isRaining) { console.log('Carry an umbrella!'); } else { console.log('Enjoy the sun!'); }
let isRaining = true;
if (isRaining) {
   console.log('Carry an umbrella!');
} else {
  console.log('Enjoy the sun!');
}

In the example above, the condition is simply if (isRaining). In JavaScript, this is evaluating whether isRaining is truthy. If you read the code out loud to yourself, it sounds like a simple sentence: “If it’s raining, carry an umbrella. Else, enjoy the sun!”

JavaScript provides an operator for swapping the truthiness and falsiness of values – the exclamation point (!). We can use this in conditional statements as shorthand to check if the value of a variable evaluates to false rather than true.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
let isPhoneCharged = true;
if (!isPhoneCharged) {
console.log('Plug in your phone!');
} else {
console.log('No need to charge!');
}
let isPhoneCharged = true; if (!isPhoneCharged) { console.log('Plug in your phone!'); } else { console.log('No need to charge!'); }
let isPhoneCharged = true; 
if (!isPhoneCharged) {
  console.log('Plug in your phone!');
} else {
  console.log('No need to charge!');
}

In the example above, the program checks if isPhoneCharged evaluates to false. Because isPhoneCharged is true, the second block of code will execute.

Example:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
let wordCount = 1;
if (wordCount) {
console.log("Great! You've started your work!");
} else {
console.log('Better get to work!');
}
let favoritePhrase = 'Work';
if (!favoritePhrase) {
console.log("This string doesn't seem to be empty.");
} else {
console.log('This string is definitely empty.');
}
let wordCount = 1; if (wordCount) { console.log("Great! You've started your work!"); } else { console.log('Better get to work!'); } let favoritePhrase = 'Work'; if (!favoritePhrase) { console.log("This string doesn't seem to be empty."); } else { console.log('This string is definitely empty.'); }
let wordCount = 1;

if (wordCount) {
  console.log("Great! You've started your work!");
} else {
  console.log('Better get to work!');
}

let favoritePhrase = 'Work';

if (!favoritePhrase) {
  console.log("This string doesn't seem to be empty.");
} else {
  console.log('This string is definitely empty.');
}

Output:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Great! You've started your work!
This string is definitely empty.
Great! You've started your work! This string is definitely empty.
Great! You've started your work!
This string is definitely empty.

 

Comparison Operators

In addition to checking whether a variable evaluates to true or false, sometimes we need to compare variables to other values. We can achieve this with comparison operators.

There are two comparisons you might be familiar with:

  • Less than: <
  • Greater than: >

You may also recognize these:

  • Less than or equal to: <=
  • Greater than or equal to: >=

These comparisons evaluate to true or false.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
let hungerLevel = 5;
if (hungerLevel > 7) {
console.log ('Time to eat!');
}
else
{
console.log('We can eat later!');
}
let hungerLevel = 5; if (hungerLevel > 7) { console.log ('Time to eat!'); } else { console.log('We can eat later!'); }
let hungerLevel = 5;
if (hungerLevel > 7) {
  console.log ('Time to eat!');
}
else
{
  console.log('We can eat later!');
}

Output:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
We can eat later!
We can eat later!
We can eat later!

Comparison Operators II

There are two more useful comparisons we can make. Often, we might want to check if two things are equal to each other or if they are not.

  1. To check if two things equal each other, we write === (three = signs in a row).
  2. To check if two things do not equal each other, we write !== (an exclamation with two = signs in a row).

It can be confusing when to use one = sign and when to use three === signs. Use a single = to assign a value to a variable. Use ===to compare the values of two different variables.

Also there is an option to use two == equal signs. The differece is this:

The identity (===) operator behaves identically to the equality (==) operator except no type conversion is done, and the types must be the same to be considered equal. The ===operator will not do the conversion, so if two values are not the same type === will simply return false. Both are equally quick.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
var moonPhase = "full";
if (moonPhase !== "full"){
console.log("Howl!")
} else {
console.log("I swear I am not a werewolf.")
}
var moonPhase = "full"; if (moonPhase !== "full"){ console.log("Howl!") } else { console.log("I swear I am not a werewolf.") }
var moonPhase = "full";

if (moonPhase !== "full"){
   console.log("Howl!")
} else {
  console.log("I swear I am not a werewolf.")
}

Output:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
I swear I am not a werewolf.
I swear I am not a werewolf.
I swear I am not a werewolf.

 

else if Statements

Multiple statements are also possible. We can add more conditions to our if/else statement with else if.

In the example code below we can learn the syntax of multiple else if statements.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
let moonPhase = "solar eclipse";
if (moonPhase === "full"){
console.log("Howl!")
}
else if (moonPhase === "mostly full") {
console.log("Arms and legs are getting hairier")
}
else if (moonPhase === "mostly new") {
console.log("Back on two fee")
}
else {
console.log("Invalid moon phase")
}
let moonPhase = "solar eclipse"; if (moonPhase === "full"){ console.log("Howl!") } else if (moonPhase === "mostly full") { console.log("Arms and legs are getting hairier") } else if (moonPhase === "mostly new") { console.log("Back on two fee") } else { console.log("Invalid moon phase") }
let moonPhase = "solar eclipse";

if (moonPhase === "full"){
   console.log("Howl!")
} 
 else if (moonPhase === "mostly full") {
  console.log("Arms and legs are getting hairier")
}
else if (moonPhase === "mostly new") {
  console.log("Back on two fee")
}
 else {
  console.log("Invalid moon phase")
 }

Output:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Invalid moon phase
Invalid moon phase
Invalid moon phase

 

Logical Operators

In English, sometimes we say “both of these things” or “either one of these things.” Let’s translate those phrases into JavaScript with special operators called logical operators.

  1. To say “both must be true,” we use &&.
  2. To say “either can be true,” we use ||.

In this example we use || to test the code:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
let moonPhase = "full";
let isFoggyNight = false;
if (moonPhase === "full" || isFoggyNight === true){
console.log("Howl!")
}
else if (moonPhase === "mostly full") {
console.log("Arms and legs are getting hairier")
}
else if (moonPhase === "mostly new") {
console.log("Back on two fee")
}
else {
console.log("Invalid moon phase")
}
let moonPhase = "full"; let isFoggyNight = false; if (moonPhase === "full" || isFoggyNight === true){ console.log("Howl!") } else if (moonPhase === "mostly full") { console.log("Arms and legs are getting hairier") } else if (moonPhase === "mostly new") { console.log("Back on two fee") } else { console.log("Invalid moon phase") }
let moonPhase = "full";
let isFoggyNight = false;

if (moonPhase === "full" || isFoggyNight === true){
   console.log("Howl!")
} 
 else if (moonPhase === "mostly full") {
  console.log("Arms and legs are getting hairier")
}
else if (moonPhase === "mostly new") {
  console.log("Back on two fee")
}
 else {
  console.log("Invalid moon phase")
 }

switch Statements

Writing complex statements that will require a lot if/else statements and sometimes things get very complex. To deal with times when you need many else if conditions, we can turn to a switch statement to write more concise and readable code.

To a computer, a switch statement and an if/else statement are the same, but a switch statement can be easier for other humans to read. Part of being a good developer is writing code that both computers and other humans can read.

switch statements look like this:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
let groceryItem = 'papaya';
switch (groceryItem) {
case 'tomato':
console.log('Tomatoes are $0.49');
break;
case 'lime':
console.log('Limes are $1.49');
break;
case 'papaya':
console.log('Papayas are $1.29');
break;
default:
console.log('Invalid item');
break;
}
let groceryItem = 'papaya'; switch (groceryItem) { case 'tomato': console.log('Tomatoes are $0.49'); break; case 'lime': console.log('Limes are $1.49'); break; case 'papaya': console.log('Papayas are $1.29'); break; default: console.log('Invalid item'); break; }
let groceryItem = 'papaya';

switch (groceryItem) {
  case 'tomato':
    console.log('Tomatoes are $0.49');
    break;
  case 'lime':
    console.log('Limes are $1.49');
    break;
  case 'papaya':
    console.log('Papayas are $1.29');
    break;
  default:
    console.log('Invalid item');
    break;
}
  1. The switch keyword initiates the statement and is followed by ( ... ), which contains the condition that each case will compare to.
  2. Inside the block, { ... }, there are cases. case is like the else if part of an if/else if/else statement.
  3. Then the program stops with the break keyword. This keyword will prevent the switch statement from executing any more of its code. Without adding break at the end of each case, the program will execute the code for all matching cases and the default code as well. This behavior is different from if/else conditional statements which execute only one block of code.
  4. At the end of each switch statement, there is a default condition. If none of the cases are true, then this code will run.

Another example of the same code with switch:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
let moonPhase = "full";
switch (moonPhase) {
case 'full':
console.log("Howl!");
break;
case 'mostly full':
console.log("Arms and legs are getting hairier");
break;
case 'mostly new':
console.log("Back on two fee");
break;
default:
console.log("Invalid moon phase");
break;
}
let moonPhase = "full"; switch (moonPhase) { case 'full': console.log("Howl!"); break; case 'mostly full': console.log("Arms and legs are getting hairier"); break; case 'mostly new': console.log("Back on two fee"); break; default: console.log("Invalid moon phase"); break; }
let moonPhase = "full";

switch (moonPhase) {
  case 'full':
    console.log("Howl!");
    break;
  case 'mostly full':
    console.log("Arms and legs are getting hairier");
    break;
  case 'mostly new':
    console.log("Back on two fee");
    break;
  default:
    console.log("Invalid moon phase");
    break;
                 }

Ternary Operator

Ternary operators provide a way to shorten and simplify if/else if/else statements to make them easier to read. And it is really short and fast to write.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
let isNightTime = true;
if (isNightTime) {
console.log('Turn on the lights!');
} else {
console.log('Turn off the lights!');
}
let isNightTime = true; if (isNightTime) { console.log('Turn on the lights!'); } else { console.log('Turn off the lights!'); }
let isNightTime = true;

if (isNightTime) {
  console.log('Turn on the lights!');
} else {
  console.log('Turn off the lights!');
}

In the example above, we see a very familiar pattern. See the example below for an equivalent way to express this.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
isNightTime ? console.log('Turn on the lights!') : console.log('Turn off the lights!');
isNightTime ? console.log('Turn on the lights!') : console.log('Turn off the lights!');
isNightTime ? console.log('Turn on the lights!') : console.log('Turn off the lights!');

The code in the example above will operate exactly as the code from the previous example. Let’s break this example into its parts:

  1. isNightTime ? — the conditional statement followed by a question mark. This checks if isNightTime is truthy.
  2. console.log ('Turn on the lights!') — this code will be executed if the condition is truthy.
  3. : — a colon separates the two different blocks of code that can be executed.
  4. console.log('Turn off the lights!'); — this code will be executed if the condition is falsy
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
age >= 16 ? console.log('You are old enough to drive in the United States!') : console.log('You are not old enough to drive in the United States!');
age >= 16 ? console.log('You are old enough to drive in the United States!') : console.log('You are not old enough to drive in the United States!');
age >= 16 ? console.log('You are old enough to drive in the United States!') : console.log('You are not old enough to drive in the United States!');

A few more example with ternary operators:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
let isLocked = false;
isLocked ? console.log('You will need a key to open the door.') :
console.log('You will not need a key to open the door.');
let isCorrect = true;
isCorrect ? console.log('Correct!') : console.log('Incorrect!')
let favoritePhrase = 'Love That!';
favoritePhrase === 'Love That!' ? console.log('I love that!') :
console.log("I don't love that!");
let isLocked = false; isLocked ? console.log('You will need a key to open the door.') : console.log('You will not need a key to open the door.'); let isCorrect = true; isCorrect ? console.log('Correct!') : console.log('Incorrect!') let favoritePhrase = 'Love That!'; favoritePhrase === 'Love That!' ? console.log('I love that!') : console.log("I don't love that!");
let isLocked = false;

isLocked ? console.log('You will need a key to open the door.') : 
  console.log('You will not need a key to open the door.');


let isCorrect = true;

isCorrect ? console.log('Correct!') :   console.log('Incorrect!')


let favoritePhrase = 'Love That!';

favoritePhrase === 'Love That!' ? console.log('I love that!') :
  console.log("I don't love that!");

Output:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
You will not need a key to open the door.
Correct!
I love that!
You will not need a key to open the door. Correct! I love that!
You will not need a key to open the door.
Correct!
I love that!

 

Go to first 2 part <<

Go to the third 4 part >>

Add a Comment

Your email address will not be published. Required fields are marked *

Buy Me A Coffee
Thank you for visiting. You can now buy me a coffee!