DEV Community

loading...
Cover image for JavaScript Interview Question #40: What is the type of `undefined` in JS?

JavaScript Interview Question #40: What is the type of `undefined` in JS?

coderslang profile image Coderslang: Become a Software Engineer Originally published at learn.coderslang.com ・1 min read

js-test-40

What's the output?

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

In JavaScript, the typeof operator always returns a string.

So, even though typeof undefined evaluates to undefined, it’s a string and not the primitive undefined value.

The string ’undefined’ is not equal to the value undefined.


ANSWER: the message false will appear in the console.

Learn Full-Stack JavaScript

Discussion (5)

Collapse
rohithv07 profile image
Rohith V

So, typeof always returns a string and if we do a check like

typeof undefined === undefined
Enter fullscreen mode Exit fullscreen mode

it is actually checking whether the string undefined equal to the type undefined which is a false.
Instead if we do

typeof undefined === "undefined"
Enter fullscreen mode Exit fullscreen mode

we will get true as we are comparing with the string "undefined" and with the result which is a string we get from typeof undefined.

Collapse
coderslang profile image
Collapse
darkwiiplayer profile image
DarkWiiPlayer

If typeof(undefined) == undefined, that'd mean undefined has no type, so it makes sense for the string "undefined" to be returned instead :D

Collapse
coderslang profile image
Coderslang: Become a Software Engineer Author

Hold on, typeof null is coming right after you :)

Collapse
darkwiiplayer profile image
DarkWiiPlayer

Hey, I never claimed JavaScript is a sane language overall :D

Forem Open with the Forem app