Introduction to JavaScript – Control Flow: True and False values

Introduction to JavaScript – 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:

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.

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:

let numberOfApples = 0;
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.


1. Change the value of wordCount so that Great! You’ve started your work! is logged to the console.

2. Change the value of favoritePhrase so that This string doesn’t seem to be empty is logged to the console.

Related Videos: Related Videos.

Related Links:

My little pony learning game in VB.NET

Introduction to JavaScript – Create a Variable: let

How to make a go-back button with PHP code?

Introduction to JavaScript – Variables: Undefined

Introduction to JavaScript – Control Flow

Introduction to JavaScript – Control Flow: if/else Statements

Learn Python Lists

Learn Python Variables and Types

Learn about programming Functions in Python

Introduction to JavaScript – Variables: String Interpolation II

Learn about Python Generators

Introduction to JavaScript – Create a Variable: const

JavaScript Comparison Operators

Why do most sites use cookies?

Learn Code Introspection Python Programming

Learn about JavaScript ELSE STATEMENTS

Introduction to JavaScript – Variables: Review

Hello World Android app built with Android Studio

Connected through code, Choose Your Platform!

About the Author: Bernard Aybout

In the land of bytes and bits, a father of three sits, With a heart for tech and coding kits, in IT he never quits. At Magna's door, he took his stance, in Canada's wide expanse, At Karmax Heavy Stamping - Cosma's dance, he gave his career a chance. With a passion deep for teaching code, to the young minds he showed, The path where digital seeds are sowed, in critical thinking mode. But alas, not all was bright and fair, at Magna's lair, oh despair, Harassment, intimidation, a chilling air, made the workplace hard to bear. Management's maze and morale's dip, made our hero's spirit flip, In a demoralizing grip, his well-being began to slip. So he bid adieu to Magna's scene, from the division not so serene, Yet in tech, his interest keen, continues to inspire and convene.