How do I Check for an Empty/Undefined/Null String in JavaScript?

Matthew C.

The Problem

You want to check that a value is not an empty string, null, or undefined. How do you do this?

The Solution

To check that a value is not an empty string, null, or undefined, you can create a custom function that returns true if a value is null, undefined, or an empty string and false for all other falsy values and truthy values:

function isEmpty(value) { return (value == null || (typeof value === "string" && value.trim().length === 0)); } console.log(isEmpty("cat")); // false console.log(isEmpty(1)); // false console.log(isEmpty([])); // false console.log(isEmpty({})); // false console.log(isEmpty(false)); // false console.log(isEmpty(0)); // false console.log(isEmpty(-0)); // false console.log(isEmpty(NaN)); // false console.log(isEmpty("")); // true console.log(isEmpty(" ")); // true console.log(isEmpty(null)); // true console.log(isEmpty(undefined)); // true

The isEmpty function uses the equality operator (==) to check if the argument value is null or undefined. This works because if one of the operands is null or undefined, the other operand must be null or undefined for the equality comparison to return true. If the argument value is not null or undefined, the right side of the logical OR (||) operator is evaluated.

To check for an empty string, the logical && operator is used. The first operand uses the typeof operator to check if the argument value is a string. If the value is a string, leading and trailing white space and line terminator strings are removed using the trim() method. This logical && operator expression returns true if a string is empty or consists of white space and line terminator strings only.

Join the discussionCome work with us
Share on Twitter
Bookmark this page
Ask a questionImprove this Answer

Related Answers

A better experience for your users. An easier life for your developers.

    TwitterGitHubDribbbleLinkedin
© 2023 • Sentry is a registered Trademark
of Functional Software, Inc.