In Projects, you can keep track of your progress as you go throught the tasks. Check each item as you complete it!

Code Editor

Reset Exercise

Learn

Control Flow

True and False Values

Even non-boolean data types, like strings and numbers, can still be used like booleans to determine control flow.

In JavaScript, all values have a truthy or falsy value. This means that they evaluate to true or false when they are used as a part of a control flow condition.

All variables that have been declared and assigned are truthy unless they contain one of the six values listed below:

false

0 and -0

"" and '' (empty strings)

null

undefined

NaN (Not a Number)

For example:

letvariableOne='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.
}

The second line of this program checks a condition if (variableOne). By only writing the name of the variable as the condition, we are checking the truthiness of the variableOne. In this case, variableOne behaves like the value true because a string that is not empty is truthy.

Here is an example with numbers.

letnumberOfApples=0;
if(numberOfApples){
console.log('Let us eat!'); // This code will not run because 0 is a falsy value
} else {
console.log('No food left!'); // This code will run
}

Since 0 is one of the six falsy values, the code within the else block runs.

There is an important distinction between a variable's value and its truthiness:

numberOfApples's value is 0 because that is the data saved to the variable.

numberOfApples is falsy when used in control flow because it exists and does contain one of the six falsy values listed above.