dev-resources.site
for different kinds of informations.
NULL VS UNDEFINED IN JS
Published at
12/13/2020
Categories
javascript
null
undefined
jsconcepts
Author
jaynil
Author
6 person written this
jaynil
open
NULL
What is null?
null is an assignment value. It can be assigned to a variable as a representation of no value:
There are two features of null you should understand:
-
null
is an empty or non-existent value. -
null
must be assigned.
In the example below, we are assigning value to null.
var x = null
console.log(x);
// null
- null expresses a lack of identification, indicating that variable points to no object
- When you assign null to a variable, you are declaring that this value is explicitly empty.
UNDEFINED
What is undefined?
Undefined usually means a variable has been declared, but not defined.
- Another common scenario, where you will encounter an undefined is while trying to access a property of an object that doesnβt exist.
var z = {};
console.log(z.value);
// undefined
- To summarize,
- An object is declared but not defined/initialized.
- Accessing an object property or an array index that does not exist.
- Calling a function, without itβs required function parameters.
What is similar?
- Both
null
andundefined
are primitive values in JavaScript. - Another thing to note is that when comparing null and undefined they are equal.
null == undefined
// true
- This is because both of them are considered falsy values in JavaScript.
Differences null vs. undefined
Arithmetic Operations
Another interesting difference to note is when arithmetic operations are performed with null vs. undefined.
Arithmetic operations with a null value will result in integer value while any arithmetic operation with undefined will result in the value of the variable being changed to
NaN
.
var x = 5 + null;
console.log(x);
// 5
var y = 5 + undefined;
console.log(y);
// NaN
Equality
Typeof Null and Undefined
- Interestingly enough, when using typeof to test null, it returns an object:
console.log(typeof(undefined)); //"undefined"
console.log(typeof(null)); //"object"
Comparison Using Abstract and Strict Equality
- Since these are different data types, if we compare them with strict equality ===, we get false.
- But if we compare them with abstract equality ==, we get true.
console.log(null === undefined) //false
console.log(null == undefined) //true
console.log(null !== undefined) //true
Summary
- null is an assigned value. It means nothing.
- undefined typically means a variable has been declared but not defined yet.
- null and undefined are falsy values.
- null and undefined are both primitives. However, an error shows that typeof null = object.
-
null
!==undefined
butnull
==undefined
.
jsconcepts Article's
1 articles in total
NULL VS UNDEFINED IN JS
currently reading
Featured ones: