DEV Community

Cover image for NUll vs Undefined
GiandoDev
GiandoDev

Posted on

NUll vs Undefined

In JavaScript we have seven primitives:

  • string
  • number
  • boolean
  • null
  • undefined
  • symbol
  • bigInit

We often think that null and undefined are the same.
Let's try to use strictly equal operator with them:
Alt Text
they are not equal at all.
Undefined means that we have not yet attributed a value;
while null is a value that indicates nothingness
Alt Text

Top comments (2)

Collapse
 
nicom64 profile image
nicom64 • Edited

Hi,
You know you can find the type of a value with the typeof command :

typeof 'string'      // --> "string"
typeof 10            // --> "number"
typeof true          // --> "boolean"
typeof undefined     // --> "undefined"

Just remember : the type of the value null should be normally null, but it's not !

typeof null          // --> "object"

It's a very interesting story about a little bug insidiously introduced at the very beginning of the JS implementation (a tiny neglected of an if statement fot this type !) described here, and will never be fixed (too late !).

However, this tale highly helps me remember the case !

Collapse
 
fennecdjay profile image
Jérémie Astor

In Gwion, I actually implemented @null type (the type of null) as inheriting from Object, as it means absence of an object. It's true this way needs a few special rules to match, say, function pointers but it works well this way.

SurveyJS custom survey software

JavaScript Form Builder UI Component

Generate dynamic JSON-driven forms directly in your JavaScript app (Angular, React, Vue.js, jQuery) with a fully customizable drag-and-drop form builder. Easily integrate with any backend system and retain full ownership over your data, with no user or form submission limits.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay