Facebook Pixel

Why does typeof null return object in JavaScript?

It is a historical bug from the original implementation. null was represented with a type tag of 0, which the typeof check interpreted as object. It cannot be fixed without breaking existing code, so it remains.

Verify This Answer

Cross-check this information using these trusted sources:

More FAQs in undefined vs null in JavaScript

undefined is the engine's default for variables and properties with no value. null is a value the developer assigns to intentionally mean 'no value.' typeof undefined is 'undefined'; typeof null is 'object' (a historical bug).

Number(undefined) is NaN, so undefined + 5 is NaN. Number(null) is 0, so null + 5 is 5. This difference is a real source of bugs in arithmetic.

JSON.stringify omits properties with undefined values, but preserves properties with null values as null. This matters for API payloads where the presence of a null key has meaning.

Still have questions?

Browse all our FAQs or reach out to our support team

Want to upskill yourself?

Our courses are taking a Coffee break, but your curiosity shouldn't. Stay engaged with namastedev linkedin, youtube, discord and other resources while you wait.

0