Undefined vs Not defined in JavaScript
Greetings, fellow coders๐
Let's get to know the difference between undefined and not defined in JavaScript.
undefined
In the Memory Creation Phase, the JS engine allocates a placeholder to the variable called undefined. It also represents the return value of a function that does not explicitly return anything.
Let's understand through an example
Example 1:
console.log(a);//undefined
var a=10;
console.log(a);//10
Output 1:
undefined
10
Explanation:
We Know in the Memory Creation Phase where it allocates memory to the variables with undefined. The a
is stored with undefined.
So, whenconsole.log(a)
is executed,a
has been declared but not yet assigned a value, resulting inundefined
.
In the Code Execution Phase where it re-assigns the values of the variablea=10
.
Later, when a
is assigned the value10
,console.log(a)
outputs10
.
Example 2:
function foo() {
// No return statement, so foo() returns undefined
}
console.log(foo()); // Output: undefined
Output 2:
undefined
Explanation:
In the above code snippet, foo() doesn't explicitly return anything, so it is considered undefined.
not defined
When a variable is not declared or cannot be accessed within a certain scope, it is said to be not defined. This typically results in a ReferenceError being thrown by JavaScript
.
Let's understand through an example
Example :
console.log(y); // ReferenceError: y is not defined
function bar() {
var z = 10;
console.log(z); // 10
}
bar();
Output :
Uncaught ReferenceError: y is not defined
In the above code snippet, we are trying to access y
which is not declared. So, it throws a ReferenceError: y is not defined error.
In summary, undefined is a specific value that indicates the absence of a value assigned to a variable or returned by a function, while not defined refers to a variable that has not been declared or is not accessible within the current scope, resulting in a ReferenceError.
and that's it!
Conclusion
That's fantastic! I hope you understand the difference between undefined and not defined.
Additionally, make sure to explore the documentation and the examples on the undefined and not defined. They provide a wealth of information and inspiration.
I'm glad I could help. If you have any more questions along the way, feel free to reach out. Happy coding!
Subscribe to my newsletter
Read articles from Reddy Divya directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Reddy Divya
Reddy Divya
Passionate React JS developer on a journey to build captivating web experiences. Sharing insights and knowledge through blogging to empower the developer community.