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

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

Hoisting with var

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

Output: undefined

var is hoisted and initialized with undefined.

Hoisting with 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
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

  • ย 5 Essential Tools Every Blogger Should Useย 5 Essential Tools Every Blogger Should Use
  • 100 Windows Keyboard Shortcuts That Will Actually Save You Time100 Windows Keyboard Shortcuts That Will Actually Save You Time
  • Essential VS Code Code Formatting TipsEssential VS Code Code Formatting Tips
  • What Is a Web Server? A Beginner’s Guide to How Websites WorkWhat Is a Web Server? A Beginner’s Guide to How Websites Work
  • Elementor vs Gutenberg: Which WordPress Page Builder Should You Use?Elementor vs Gutenberg: Which WordPress Page Builder Should You Use?

Popular

Random Posts

  • CSS Transform and Transition: Easy Animation GuideCSS Transform and Transition: Easy Animation Guide
  • What Is a Computer? Definition, Types, and How It Works (Beginnerโ€™s Guide)What Is a Computer? Definition, Types, and How It Works (Beginnerโ€™s Guide)
  • Beginner Guide to HTML & CSS (With Examples)Beginner Guide to HTML & CSS (With Examples)
  • Web Accessibility Testing Tools for Developers (Free & Paid)Web Accessibility Testing Tools for Developers (Free & Paid)
  • HTML Accessibility Basics Every Developer Should KnowHTML Accessibility Basics Every Developer Should Know

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