Loading Now
3 Essential Types of JavaScript Boolean Explained Simply

3 Types of JavaScript Boolean: Master the Logic!

Share this content:

Because JavaScript is a high-level language with many abstractions — ways of expressing logic — we’ll need to write carefully and judiciously. One of the most powerful JavaScript types that you will be seeing in this course — is a type called BOOLEAN. Boolean data type, true or false, was a concept that is foundational to the logic of programming. This may sound simple, but understanding the different ways Booleans operate in JavaScript can feel magical!

So, let’s dive deep into the 3 core ways Booleans are used in JavaScript, and why mastering this concept will give you an edge in your coding journey.

1. Boolean Primitive

The Boolean primitive is the simplest and most direct form of representing a Boolean in JavaScript. It’s either true or false—no gray area! Every comparison or logical test in JavaScript results in one of these two values.

let isAdult = true
let isStudent = false;

True or False, No Middle Ground

Think of Booleans as the answers to simple yes/no questions. Is the user logged in? Is the number greater than 5? These questions can only have two possible outcomes: true or false. It’s the simplest form of decision-making in programming.

But here’s the twist—JavaScript is full of surprises! A lot of other values in JavaScript can behave like Booleans, even though they aren’t explicitly true or false. This brings us to the next type…

2. Truthy and Falsy Values

Ever heard of the terms truthy or falsy? These are values that JavaScript interprets as either true or false, even if they aren’t exactly Boolean.

  • Truthy: Any value that JavaScript treats as true when evaluated in a Boolean context.
  • Falsy: Values that JavaScript treats as false.

In JavaScript, the following values are considered falsy:

  • false
  • 0
  • "" (an empty string)
  • null
  • undefined
  • NaN (Not-a-Number)

Everything else is truthy. Yes, that includes strings, numbers, and even arrays or objects, regardless of their contents!

if (0) {
  console.log("This won't run because 0 is falsy.");
}

if ("hello") {
  console.log("This will run because non-empty strings are truthy.");
}

Why Does This Matter?

Understanding truthy and false values is key to writing more flexible and efficient code. For example, you can quickly check if a variable has a “meaningful” value with an if-statement, without explicitly comparing it to true or false.

let userName = "";
if (!userName) {
  console.log("No user name provided!");
}

As you can see in the example above, if we pass an empty string, it has a false-y value, so the if will evaluate to true, and will log the message.

3. Boolean Objects

JavaScript also allows you to create Booleans using the Boolean() constructor. But here’s a heads-up: you should avoid this unless absolutely necessary.

let boolObject = new Boolean(false);

Wait, what? A Boolean object is a little more complicated than the simple primitive Boolean value. When you create a Boolean object using new Boolean(), the object is always truthy, even if it contains the value false!

let falseObj = new Boolean(false);

if (falseObj) {
  console.log("This will still run because an object is truthy!");
}

The Boolean object exists mainly for historical reasons. Today, developers stick to primitive Booleans to avoid unnecessary confusion. Unless you’re working in a very specific context, you probably won’t need Boolean objects.

Booleans in Real-World JavaScript

Although it is important to understand how Booleans behave in JS, what is more important is to make use of the concepts. From checking if a user is logged in, validating form input, to comparing values in loops, Boolean logic is essential.

For instance, imagine you’re creating a login page. You’ll likely use Booleans to check if the user is authenticated:

let isLoggedIn = true;

if (isLoggedIn) {
  console.log("Welcome back!");
} else {
  console.log("Please log in.");
}

This is just one of many examples where Boolean logic is at the heart of programming decisions. The more comfortable you are with true/false logic, the more intuitive your code will feel!

Conclusion

Understanding the 3 types of JavaScript Booleans—primitive Booleans, truthy/falsy values, and Boolean objects—will help you handle logic in your programs. It’s not complex, but it is also the base for more complicated decision-making processes that you have to do as a dev. If you are just getting started then worry not! The more you do it, the more Booleans will be second nature. And soon you will be confidently writing dynamic, interactive experiences. Therefore, practice, experiment, and most of all code!