Truthy and falsy values in JavaScript
Last updated: September 27, 2022.
The terms truthy and falsy refers to the Boolean value type – true or false – that a value is converted to in a logical statement.
In total, there are seven falsy values in JavaScript:
- Numeric
0 - BigInt
0n - The value
null - The non-value
undefined - The Boolean value
false - Not a number:
NaN - Empty string:
""
All other values are truthy!
Truthy and falsy in logical statements
Truthy and falsy values are important in logical statements, such as if…else conditionals.
The if condition accepts a true or false Boolean value or converts whatever is passed into it to true or false. If the value is true, the statement is run.
This means that if a falsy value is passed in, the if statement will not run:
if (2022) {
console.log("With truthy value"); // Logs message to console
}
if (null) {
console.log("With falsy value"); // No output
}
if (undefined) {
console.log("With falsy value"); // No output
}
if ("JavaScript") {
console.log("With truthy value"); // Logs message to console
}
In practice, the conversion of values to truthy or falsy is useful for only running an if statement if a process has resulted in a value being assigned to a variable:
const userInput1 = "Some comments";
const userInput2 = null;
if (userInput1) {
console.log("Comments = " + userInput1)
} else {
console.log("User did not enter any comments")
}
// Output: Comments = Some comments
if (userInput2) {
console.log("Comments = " + userInput2)
} else {
console.log("User did not enter any comments")
}
// Output: User did not enter any comments





