Javascript Notes: 05 – Control Flow
Control Flow
JavaScript supports different kinds of loops:
- for – loops through a block of code a number of times
- for/in – loops through the properties of an object
- for/of – loops through the values of an iterable object
- while – loops through a block of code while a specified condition is true
- do/while – also loops through a block of code while a specified condition is true
In Javascript we have two conditional statements, which are:
If..else
Switch..case
If.. ..else
Example:
//Hour
//If hour is between 6am and 12pm: Good morning
//If it is between 12pm and 6pm: Good afternoon
//Otherwise: Good evening!
let hour = 20;
if (hour >=6 && hour <12)
console.log(‘Good morning’);
else if (hour >= 12 && hour < 18)
console.log(‘Good afternoon’);
else
console.log(‘Good evening’);
Switch.. ..case
Example:
let role = ‘guest’:
switch (role) {
case ‘guest’:
console.log(‘Guest User’);
break;
case ‘moderator’:
console.log(‘Moderator User’)
break:
default:
console.log(‘Unknown User’);
}
The above example shown as an: If.. ..else
if (role === ‘guest’) console.log(‘guest’);
else if (role === ‘moderator’) console.log(‘moderator’);
else console.log (‘Unkown User’);
LOOPS
What if we wanted to do this code in a shorter way, we would use a loop!
console.log(‘Hello World!)
console.log(‘Hello World!)
console.log(‘Hello World!)
console.log(‘Hello World!)
console.log(‘Hello World!)
It would be this!
for (let i = 0, i < 5; i++) {
console.log(‘Hello World’);
}
We have 5 kinds of loops! They are:
- For
- While
- Do..while
- For..in
- For..of
For – Loops
//This will display numbers from 0 to 5 in console.
for (let i = 0; i < 5; i++) {
console.log(‘Hello World’, i);
}
for (initialExpression, condition; incrementExpression) {
console.log(‘Hello World’);
}
//This will display numbers from 1 to 5 in console.
for (let i = 1; i < 5; i++) {
console.log(‘Hello World’, i);
}
//This code will only display odd numbers:
for (let i = 1; i <= 5; i++) {
if (i % 2 !==0) console.log(i);
}
//This code will reverse the order
for (let i = 5; i >=1; i–) {
if (i % 2 !==0) console.log(i);
}
While – Loops
//We start with this code and it will reverse the order
for (let i = 0; i <=5; i++) {
if (i % 2 !==0) console.log(i);
}
//Now we change it to a while loop. It now looks like this and does the same thing.
let i = 0;
while (i <= 5) {
if (i % 2 !==0) console.log(i);
i++;
}
Do.. While – Loops
Do while code will run once even if the condition is false.
//We start with our while loop.
let i = 9;
while (i <= 5) {
if (i % 2 !==0) console.log(i);
i++;
}
//Now we change it to Do.. While loop which looks like this now. It will run only once because of 9.
//Do-while
let i = 9;
do {
if (i % 2 !== 0) console.log(i);
i++;
} while (i <=5);
Infinite – Loops
Watch out for Infinite loops like these examples because they can crash your browser or computer. They can even cause the computer fan to speed up like it did on my MacBook Pro! Yikes!
Example 1:
let i = 0
while (i < 5) {
console.log(i)
}
Example 2:
while (true) {
}
Example 3:
let x = 0;
do {
} while (x<5);
Example 4:
for (let i = 0; i < 10:)
For In – Loops
Used for properties in Object. or elements in an Array.
Example:
//for-in
const person = {
name: ‘Steve’,
age: 42
};
for (let key in person)
console.log(key, person[key]); //We are using Bracket Notation
//Now in using it in an Array
const colors = [‘red’, ‘green’, ‘blue’];
for (let index in colors)
console.log(index, colors[index]);
For of – Loops
Used for iterable elements in an Array.
const colors = [‘red’, ‘green’, ‘blue’];
for (let color of colors)
console.log(color);
Break and continue
We use break to jump out of a loop. Continue is used to jump to the next iteration.
Break Example:
let i = 0;
while (i <= 10) {
if (i === 5) break; //Once we hit 5 we break out of loop
console.log(i);
i++;
}
Continue Example:
let i = 0;
while (i <= 10) {
if (i % 2 === 0) {
i++;
continue;
}
console.log(i);
i++;
}