JavaScriptBasics
Q1. What is the difference between var, let, and const in JavaScript?
তিনটি ঘোষণার পদ্ধতি, তাদের scope ও পুনরায় মান বদলানোর পার্থক্য — উদাহরণসহ।
JavaScript-এ ভেরিয়েবল ঘোষণার তিনটি পদ্ধতি আছে — var, let আর const। তিনটিই ভেরিয়েবল তৈরি করে, কিন্তু scope আর মান পুনরায় বদলানো যায় কি না — এই দুই বিষয়ে তারা সম্পূর্ণ আলাদা।
তিনটি ঘোষণা পাশাপাশিjavascript
javascript
var name = "Rahim";
name = "Karim"; // ✅ var-এর মান বদলানো যায়
let score = 10;
score = 20; // ✅ let-এর মানও বদলানো যায়
const PI = 3.1416;
// PI = 3.14; // ❌ const বদলানো যায় নাconst মান বদলাতে বাধা দেয়, কিন্তু object বা array-এর ভিতরের প্রপার্টি বদলানোতে কোনো বাধা নেই — কারণ পরিবর্তন হচ্ছে object-টাই, reference-টা নয়।
const-এর সীমাবদ্ধতাjavascript
javascript
const user = { name: "Rahim" };
user.name = "Karim"; // ✅ কাজ করে — object-টাই একই থাকে
// user = {}; // ❌ ReferenceErrorvar শুধু function-scoped — তাই if বা loop-এর ভিতরে ঘোষণা করলেও সেটা পুরো ফাংশন জুড়ে চলে। আর let ও const block-scoped — বন্ধ চিহ্নের বাইরে গেলেই ভেরিয়েবলটি আর পাওয়া যায় না।
block scopejavascript
javascript
if (true) {
var a = 10;
let b = 20;
}
console.log(a); // 10 — var block মেনে চলে না
// console.log(b); // ReferenceError — let block-এর ভিতরেই ছিল| বিষয় | var | let | const |
|---|---|---|---|
| Scope | function | block | block |
| পুনরায় মান বদলানো | যায় | যায় | যায় না |
| একই নামে আবার ঘোষণা | যায় | যায় না | যায় না |
| Hoisting | হয়, মান undefined থাকে | হয়, কিন্তু ব্যবহার করা যায় না | হয়, কিন্তু ব্যবহার করা যায় না |
মনে রাখুন
একটা সহজ নিয়ম বানিয়ে নিন — যে মান আর বদলাবে না সেখানে const, যে বদলাবে সেখানে let, আর নতুন কোডে var এড়িয়ে চলুন।
শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।