Episode 12 of 46
Booleans in JavaScript
Learn about boolean values, truthy/falsy concepts, and type coercion.
A boolean is a data type that can only be one of two values: true or false.
Basic Booleans
let isLoggedIn = true;
let isAdmin = false;
console.log(isLoggedIn); // true
console.log(typeof isAdmin); // "boolean"
Comparison Results
Comparisons always return a boolean:
console.log(5 > 3); // true
console.log(10 === 10); // true
console.log("a" === "b"); // false
Truthy and Falsy Values
In JavaScript, every value is either truthy or falsy when used in a boolean context.
Falsy values (evaluate to false):
false
0
"" (empty string)
null
undefined
NaN
Everything else is truthy, including:
"hello" // non-empty string
42 // non-zero number
[] // empty array (truthy!)
{} // empty object (truthy!)
"0" // string zero (truthy!)
"false" // the string "false" (truthy!)
Boolean Conversion
// Convert to boolean with Boolean() or !!
console.log(Boolean("hello")); // true
console.log(Boolean("")); // false
console.log(Boolean(0)); // false
console.log(Boolean(42)); // true
// Double NOT shorthand
console.log(!!"hello"); // true
console.log(!!0); // false