Using let
and const
in JavaScript
In modern JavaScript (ES6+), let
and const
are preferred over var
for declaring variables. They offer block scoping and help avoid bugs related to variable hoisting and redeclaration.
🔁 let
– Mutable Variable
Use let
when the value of a variable might change later.
let count = 0;
count = count + 1; // ✅ valid
console.log(count); // 1
Scope: Block-scoped (within { ... })
🔒 const
– Constant (Read-only)
Use const
when the value should not be reassigned.
const pi = 3.14;
pi = 3.1415; // ❌ Error: Assignment to constant variable
Note: Objects and arrays declared with const
can still be mutated:
const user = { name: "John" };
user.name = "Jane"; // ✅ Allowed
const arr = [1, 2, 3];
arr.push(4); // ✅ Allowed
📌 Key Differences
Feature | let | const |
---|---|---|
Reassignable | ✅ Yes | ❌ No |
Scope | Block | Block |
Hoisted | Yes (not initialized) | Yes (not initialized) |
🎯 When to Use?
- Use
const
by default for safety. - Use
let
if you know the variable will change.
✅ Tip: Avoid
var
unless you're working in older environments or need function scope specifically.