Coderslang

Search IconIcon to open search

Equality of null and undefined in JavaScript [Tech Interview Quiz]

Last updated Jan 8, 2023

In JavaScript, the values null and undefined are often used to represent the absence of a value or an uninitialized variable. However, these two values can behave differently in certain situations, and it is important to understand the differences between them.

Seasoned interviewers often challenge Juniors to describe the concept of strict equality in JavaScript and how it applies to the values null and undefined.

Consider the following code snippet and determine the output.

Code snippet as a picture

js-test-10

1
2
3
console.log(null === null);
console.log(undefined === undefined);
console.log(null + undefined === null + undefined);

What will be logged to the console?

Explanation

In the first line, we evaluate null === null and the result is true.

In the second line, we evaluate undefined === undefined and the result is true once again.

In the third line, however, we need to understand what the result of null + undefined is. For JavaScript, it’s hard to make sense of what it should be, so it evaluates this expression as NaN.

Now, is NaN equal to NaN?

And the answer is - NO.

In JS NaN is the only value that’s not equal to itself.

Answer

The output is going to be true, true, and false.

🔥 START LEARNING 🔥