Undefined vs Not defined in JavaScript

Undefined vs Not defined in JavaScript

·

2 min read

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 ais stored with undefined.

So, whenconsole.log(a)is executed,ahas 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 ais 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!

Â