Matthew C.
—You want to check that a value is not an empty string, null, or undefined. How do you do this?
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.
Tasty treats for web developers brought to you by Sentry. Get tips and tricks from Wes Bos and Scott Tolinski.
SEE EPISODESConsidered “not bad” by 4 million developers and more than 100,000 organizations worldwide, Sentry provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.