DEV Community

Cover image for 5 Common Mistakes Beginners Make with JavaScript
Muhammad Essa
Muhammad Essa

Posted on

5 Common Mistakes Beginners Make with JavaScript

JavaScript is a super fun language, but let's face it, it can be a little tricky when you're just starting out. As someone who’s still learning the ropes, I’ve made my fair share of mistakes too! So, I thought I’d share five common mistakes beginners often make with JavaScript—hopefully, this helps you avoid them.


1. Forgetting to Declare Variables

One of the first things you’ll learn in JavaScript is how to declare variables using var, let, or const. But sometimes, especially when you’re deep into coding, it’s easy to forget to declare a variable properly. Without a let or const, JavaScript will automatically create a global variable, which can cause unexpected bugs!

Example

function myFunction() {
    x = 5; // Forgot to declare 'x'
}

Enter fullscreen mode Exit fullscreen mode

Tip: Always declare variables with let or const —not declaring them at all can lead to issues that are hard to track down.


2. Misunderstanding this Keyword

Ah, the mysterious this. When I first started, I thought I had it figured out. But soon, I realized that this behaves differently depending on where you use it. For example, inside a function, it may not refer to what you think it does!

Example:

const myObject = {
    name: 'Max',
    greet: function() {
        console.log(this.name); // Works fine here
        function innerFunc() {
            console.log(this.name); // Oops! 'this' is now undefined or refers to something else
        }
        innerFunc();
    }
};
myObject.greet();

Enter fullscreen mode Exit fullscreen mode

Tip: Be careful where you use this. Inside regular functions, this might not refer to your object. Consider using arrow functions to avoid this issue, as they don’t have their own this.


3. Using == Instead of ===

This one’s sneaky. JavaScript allows you to compare values using == and ===, but they aren’t the same. The == operator doesn’t check the type of the values, which can lead to some weird results.

Example:

console.log(5 == '5');  // true
console.log(5 === '5'); // false
Enter fullscreen mode Exit fullscreen mode

Tip: Always use === to avoid unexpected type conversions. It checks both the value and the type, so it’s much safer.


4. Not Understanding Asynchronous Code

JavaScript is asynchronous, which means some code (like fetching data from an API) runs in the background while other parts of your program continue executing. Beginners often write code that doesn’t wait for these asynchronous tasks to finish, leading to errors.

Example:

let data = fetchData();
console.log(data); // This may print 'undefined' because fetchData() hasn't finished yet!
Enter fullscreen mode Exit fullscreen mode

Tip: Use async and await to handle asynchronous code properly. This will make sure your code waits for the result before moving forward.


5. Confusing let, const, and var

As a beginner, I often mixed up let, const, and var, thinking they were all the same. But they have important differences! var has function scope, while let and const have block scope. const is also used when you
don’t want the value to change.

Example:

if (true) {
    var x = 5; 
    let y = 10;
}
console.log(x); // 5
console.log(y); // Error: 'y' is not defined
Enter fullscreen mode Exit fullscreen mode

Tip: Stick with let and const for most use cases. Avoid var unless you really need it, and use const when you want to make sure a variable can’t be reassigned.


Final Thoughts

It’s easy to make these mistakes, especially when you’re starting out. But the more you practice, the easier it gets. Hopefully, this post helps you avoid some of these common pitfalls. Keep coding and learning—it’s all part of the journey!

If you have any other beginner mistakes or tips, drop them in the comments. Let’s learn together!

Top comments (0)