JavaScript Booleans

Work with true and false values

✅ What are JavaScript Booleans?

Booleans represent logical values: true or false. They are essential for making decisions in your code and controlling program flow.


// Boolean values
let isActive = true;
let isComplete = false;
console.log(isActive);   // true
console.log(isComplete); // false
                                    

Output:

true
false

Key Boolean Concepts

True/False

Only two possible values

let isReady = true;
🔄

Boolean Conversion

Convert other values to boolean

Boolean(1); // true

Truthy/Falsy

Values that act like true/false

if ("hello") // truthy
🔍

Comparisons

Comparisons return booleans

5 > 3; // true

🔹 Creating Booleans

Different ways to create and use boolean values:

// Direct boolean values
let isLoggedIn = true;
let hasPermission = false;

// From comparisons
let isAdult = age >= 18;
let isEqual = (5 === 5);  // true
let isGreater = (10 > 5); // true

// Using Boolean constructor
let boolFromNumber = Boolean(1);    // true
let boolFromString = Boolean("hi"); // true
let boolFromZero = Boolean(0);      // false

console.log(isLoggedIn);     // true
console.log(hasPermission);  // false
console.log(isEqual);        // true
console.log(boolFromNumber); // true
console.log(boolFromZero);   // false

Output:

true
false
true
true
false

🔹 Truthy and Falsy Values

Some values act like true or false when used in boolean context:

// Falsy values (act like false)
console.log(Boolean(false));     // false
console.log(Boolean(0));         // false
console.log(Boolean(""));        // false (empty string)
console.log(Boolean(null));      // false
console.log(Boolean(undefined)); // false
console.log(Boolean(NaN));       // false

// Truthy values (act like true)
console.log(Boolean(true));      // true
console.log(Boolean(1));         // true
console.log(Boolean("hello"));   // true (non-empty string)
console.log(Boolean([]));        // true (empty array)
console.log(Boolean({}));        // true (empty object)

Output:

false
false
false
false
false
false
true
true
true
true
true

🔹 Boolean in Conditions

Booleans are commonly used in if statements and conditions:

let isOnline = true;
let hasInternet = false;
let userName = "John";

// Direct boolean check
if (isOnline) {
    console.log("User is online");
}

// Checking falsy values
if (!hasInternet) {
    console.log("No internet connection");
}

// Truthy check
if (userName) {
    console.log("Welcome, " + userName);
}

// Multiple conditions
if (isOnline && userName) {
    console.log("Ready to start!");
}

Output:

User is online
No internet connection
Welcome, John
Ready to start!

🔹 Boolean Methods and Tips

Useful techniques when working with booleans:

// Toggle boolean value
let isVisible = true;
isVisible = !isVisible;  // false
console.log(isVisible);  // false

// Convert to boolean using !!
let score = 85;
let hasScore = !!score;  // true (double NOT operator)
console.log(hasScore);   // true

// Default values using OR operator
let userInput = "";
let displayName = userInput || "Guest";
console.log(displayName); // "Guest"

// Check if variable exists and has value
let data = null;
if (data) {
    console.log("Data exists");
} else {
    console.log("No data available");
}

Output:

false
true
Guest
No data available

🧠 Test Your Knowledge

Which of these is a falsy value?