The difference between undefined and undeclared variables in JavaScript is:
- Undefined variable means a variable has been declared but does not have a value.
- Undeclared variable means that the variable does not exist in the program at all.
This is a comprehensive guide to understanding the differences between undefined and undeclared in JavaScript.
Examples
The best way to understand the difference between undefined and undeclared in JavaScript is by having a look at examples.
Example 1: Undefined Variable
To see an example of an undefined value, declare a variable but do not assign it a value:
var dog; console.log(dog);
Output:
Undefined
This is what is meant by an undefined variable in JavaScript. It’s been declared but doesn’t hold value.
Undeclared Variable
An example of an undeclared variable is when there is no such variable in the program.
For example, let’s try to print a variable called cat without having such a variable in the program:
console.log(cat);
Output:
ReferenceError: cat is not defined
How to Check If a Variable Is Undefined in JavaScript
To check if a variable is undefined in JavaScript, use a direct check using the triple equals operator (===):
someVar === undefined
How to Check If a Variable Is Undeclared in JavaScript
If you try to access an undeclared variable in JavaScript, you get a ReferenceError. This is consistent because if there is no such variable, you cannot use it.
But does this mean you need to do error handling to check if a variable exists in a program?
Nope.
The typeof operator is a great help in this case.
To check if a variable exists in the program, use the typeof operator. It does not throw a ReferenceError with an undeclared variable. Instead, it returns ‘undefined’.
For instance, let’s check if a non-existent variable cat is found:
if(typeof cat === "undefined") { console.log("Cat does not exist in the program"); }
Output:
Cat does not exist in the program
Conclusion
Today you learned what is the difference between undefined and undeclared in JavaScript.
To recap:
- Undefined means you have created a variable but it does not have a value.
- Undeclared means you do not have that variable at all.
Thanks for reading. Happy coding!
Further Reading
About the Author
- I'm an entrepreneur and a blogger from Finland. My goal is to make coding and tech easier for you with comprehensive guides and reviews.
Recent Posts
Artificial Intelligence2023.03.14Best AI Tools of 2023 (Save Time & Boost Productivity)
Python2023.02.16How to Pass a Variable from HTML Page to Another (w/ JavaScript)
JavaScript2023.02.16JavaScript How to Get Selected Text from a Textbox
JavaScript2023.02.15JavaScript Select All Text in Div with a Mouse Click