Skip to main content

Command Palette

Search for a command to run...

9 types of falsy values in JavaScript

Ever wondered what is considered falsy in JavaScript. Here is the complete list of all the possible falsy values in JavaScript.

Updated
2 min read
9 types of falsy values in JavaScript
A

Experienced Software Engineer with over 6 years of expertise in front-end development. Proficient in Git for version control and skilled in TypeScript.

You might have already come across (or may come across) the question below in a JavaScript/Frontend/Web Engineer interview.

What are the possible outcomes of the given code snippet?

function greet(value) {
    if (value) {
        return "Hello, World!";
    }
    return value;
}

To answer the above question, you first need to understand what is considered falsy in JavaScript. Before continuing with the post, take a while and try to answer this by yourself. Let me know your answers in the comments below.

Falsy values in JavaScript -

  1. null

    The null value represents the absence of any value.

     Boolean(null)    // false
    
  2. undefined

    The undefined property indicates that a variable has not been assigned a value, or not declared at all.

     Boolean(undefined)    // false
    
  3. false

    The boolean value.

  4. NaN

    The global property that represents Not-A-Number.

     Boolean(NaN)    // false
    
  5. 0

    The number zero (including 0.0, 0x0).

     Boolean(0)    // false
    
  6. -0

    The number negative zero (including -0.0, -0x0)

     Boolean(-0)    // false
    
  7. 0n

    The BigInt zero (including 0x0n). BigInt values represent numeric values which are too large to be represented by the number.

     Boolean(0n)    // false
    
  8. ""

    The empty string value (including '' and ``).

     Boolean("")    // false
    
  9. document.all

    The only falsy object in JavaScript. This read-only property returns HTMLAllCollection rooted at the document node. This property is deprecated, some browsers might still support it.

     Boolean(document.all)    // false
    

So in total there are 9 falsy values in JavaScript and all other values are considered truthy.

Answer to the above question -

Above code snippet have 10 possible outcomes (9 falsy values and "Hello, World!" for all other values).