Skip to content
-
Subscribe to our newsletter & never miss our best posts. Subscribe Now!
Developer Hint

Your Ultimate Guide to Web Development.

Developer Hint

Your Ultimate Guide to Web Development.

  • Home
  • Web Development
  • Tech Explained
  • Developer Tools
  • Contact Us
  • Home
  • Web Development
  • Tech Explained
  • Developer Tools
  • Contact Us
Close

Search

Subscribe
Developer Hint

Your Ultimate Guide to Web Development.

Developer Hint

Your Ultimate Guide to Web Development.

  • Home
  • Web Development
  • Tech Explained
  • Developer Tools
  • Contact Us
  • Home
  • Web Development
  • Tech Explained
  • Developer Tools
  • Contact Us
Close

Search

Subscribe
Home/Web Development/JavaScript Variable Declarations: Understanding var, let, and const
Var Vs Let Vs Const In Javascript
Web Development

JavaScript Variable Declarations: Understanding var, let, and const

blank
By Developer Hint
January 26, 2026 2 Min Read
0

Introduction

JavaScript gives us three ways to declare variables: var, let, and const.

At first, they may look similar but they behave very differently when it comes to scope, hoisting, and reassignment. Choosing the wrong one can lead to bugs that are hard to track.

Let’s break them down step by step.

What Is var in JavaScript?

var is the old way of declaring variables in JavaScript.

Example

var name = "Ali";
Key Characteristics
  • Function-scoped
  • Hoisted with undefined
  • Can be redeclared
  • Can be reassigned

Scope Differences

var Scope

var is function-scoped, not block-scoped.

if (true) {
var age = 25;
}
console.log(age); // 25

⚠️ This can cause unexpected behavior.

let and const Scope

let and const are block-scoped.

if (true) {
let city = "Mogadishu";
}
console.log(city); // Error

✔ Much safer and predictable.

Hoisting Behavior Explained

Hoistingwith var

console.log(x);
var x = 10;

Output: undefined

var is hoisted and initialized with undefined.

Hoistingwith let and const

console.log(y);
let y = 5;

❌ Error:

ReferenceError: Cannot access 'y' before initialization

This happens because of the Temporal Dead Zone (TDZ).

Redeclaration Rules

var Allows Redeclaration

var score = 10;
var score = 20;

✔ No error (but risky).

let and const Do NOT

let score = 10;
let score = 20; // Error

✔ Prevents accidental overwrites.

Reassignment Differences

var and let

let count = 1;
count = 2; // Allowed

const

const PI = 3.14;
PI = 3.15; // Error

⚠️ const means the variable reference cannot change.

Important Note About const Objects

You can modify object properties declared with const.

const user = { name: "Ali" };
user.name = "Ahmed"; // Allowed

✔ The reference stays the same.

Comparison Table

Featurevarletconst
ScopeFunctionBlockBlock
HoistedYes (undefined)Yes (TDZ)Yes (TDZ)
RedeclarationYesNoNo
ReassignmentYesYesNo
Recommended❌✅✅

When to Use What

  • ✅ Use const by default
  • ✅ Use let when value needs to change
  • ❌ Avoid var in modern JavaScript

Common Beginner Mistakes

  • Using var out of habit
  • Thinking const means “immutable”
  • Accessing let variables too early
  • Mixing scopes accidentally

Best Practices

  • Always start with const
  • Switch to let only when needed
  • Never use var in modern code
  • Keep variable scopes small and clear

Conclusion

Understanding the differences between var, let, and const is essential for writing clean, predictable JavaScript. Modern JavaScript favors let and const because they reduce bugs and improve readability.

At Developer Hint we focus on explaining JavaScript concepts clearly, helping you write better code with confidence.


Discover more from Developer Hint

Subscribe to get the latest posts sent to your email.

Content Disclosure
This content was created with the assistance of AI tools and thoroughly reviewed, fact-checked, and refined by a human editor to ensure accuracy, clarity, and usefulness for readers.
Advertisements
banner

Tags:

JavaScriptWeb Development
blank
Author

Developer Hint

Follow Me
Other Articles
What Is Javascript Hoisting
Previous

JavaScript Hoisting Explained: Avoid Common Mistakes

Javascript Arrow Functions Explained With Practical Examples
Next

Understanding JavaScript Arrow Functions with Examples

No Comment! Be the first one.

    Leave a ReplyCancel reply

    Random Posts

    • WCAG Guidelines Explained Simply for BeginnersWCAG Guidelines Explained Simply for Beginners
    • What Is the Internet? Definition, History, and How It Works (Complete Guide)What Is the Internet? Definition, History, and How It Works (Complete Guide)
    • What Is Minification in Web Development? CSS, JS, and HTML ExplainedWhat Is Minification in Web Development? CSS, JS, and HTML Explained
    • CSS Specificity Explained Simply (With Practical Examples)CSS Specificity Explained Simply (With Practical Examples)
    • Flex vs Grid: When to Use CSS Flexbox and CSS Grid LayoutFlex vs Grid: When to Use CSS Flexbox and CSS Grid Layout

    Popular

    Random Posts

    • CSS Specificity Explained Simply (With Practical Examples)CSS Specificity Explained Simply (With Practical Examples)
    • Understanding HTTP and HTTPS: Key DifferencesUnderstanding HTTP and HTTPS: Key Differences
    • What Is the Internet? Definition, History, and How It Works (Complete Guide)What Is the Internet? Definition, History, and How It Works (Complete Guide)
    • Top 10 VS Code Extensions Every Developer Should Use in 2026Top 10 VS Code Extensions Every Developer Should Use in 2026
    • CSS Functions Explained: The Tools That Make Modern CSS PowerfulCSS Functions Explained: The Tools That Make Modern CSS Powerful

    Legal pages

    • About Us
    • Privacy Policy
    • Terms and Conditions
    • Disclaimer

    Trending

    Copyright 2026 โ€” Developer Hint. All rights reserved.

    Necessary cookies enable essential site features like secure log-ins and consent preference adjustments. They do not store personal data.
    None
    Functional cookies support features like content sharing on social media, collecting feedback, and enabling third-party tools.
    None
    Analytical cookies track visitor interactions, providing insights on metrics like visitor count, bounce rate, and traffic sources.
    None
    Advertisement cookies deliver personalized ads based on your previous visits and analyze the effectiveness of ad campaigns.
    None
    Unclassified cookies are cookies that we are in the process of classifying, together with the providers of individual cookies.
    None