Javascript

Determine if variable is ‘undefined’ or ‘null’

Share

In JavaScript, you can check whether a variable is undefined or null or blank or has a value defined in it.

In JavaScript, ‘undefined’ means a variable has been declared but has not been assigned a value yet, such as:

var a;
console.log(a); //shows undefined
console.log(typeof a); //shows undefined

‘null’ is an assignment value. This can be assigned to a variable as a representation of no value:

var a = null;
console.log(a); //shows null
console.log(typeof a); //shows object

So, from the preceding examples, this is clear that undefined and null are two distinct types i.e. undefined is a type itself where as null is an object.

null === undefined // false
null == undefined // true
null === null // true

and,

null = 'value' // ReferenceError
undefined = 'value' // 'value'

So, null and undefined are both are used to represent the absence of some value.

You can just check whether the variable has a true value or not.
That means:

if( value ) {
...
}

Read Also: Getting Started with Handlebars JS

This will evaluate to true if value is not:
– null
– undefined
– NaN
– empty string (“”)
– 0
– false

If you do not know whether a variable exists or not i.e. if it was declared you should check with the typeof operator.

For instance,

if( typeof value !== 'undefined' ) {
...
}

If you know that a variable is declared at least, then, you should directly check with the value also.

It seems the most complete answer would be:

if( typeof value === 'undefined' || variable === null ){
// Do stuff
}

Read Also: Date Object – JavaScript

In modern browsers you can safely compare the variable directly to undefined:

if (value === undefined) {...}

You can use void operator to get the value of undefined.
This will work even if the global window.undefined value has been over-written:

if (value === void(0)) {...}

But don’t use void(0) directly.

Use instead:

var undefined = void(0);
console.log(value === undefined);

Although null can do things undefined does, this is more or less related to objects rather than scalars.
Indeed, JavaScript considers null itself an object — typeof null returns “object”.

Recent Posts

What Is Commonly Misdiagnosed as Pink Eye: Understanding Eye Conditions and Their Symptoms

Introduction: Pink eye, or conjunctivitis, is a common eye condition characterized by redness and inflammation…

10 hours ago

Why Flexible Financing is the Future of Small Business

Small businesses are the backbone of the economy. Still, they often face daunting hurdles when…

16 hours ago

Warm Comfort: Choosing the Best Hot Water Bottle for Cozy Nights

Introduction: As the chill of winter settles in or a bout of cold weather strikes,…

1 day ago

One Location, Different Perspectives: The Allure of Dubai Marina Apartments

Nestled along the glittering waterfront of the City of Gold, Dubai Marina beckons to discerning…

1 day ago

How to launch a successful online dating app?

If you want to open a match-making dating app in the wide digital market and…

2 days ago

Role Of Gojek Clone In Growth Campaigns For Your Business

When was the last time you heard that a clone app like Gojek could efficiently…

2 days ago