Variables (var, let, const)

JavaScript-এ Variables হলো এমন একটি কন্টেইনার যা ডেটা সংরক্ষণ করার জন্য ব্যবহার করা হয়। সহজভাবে বললে, এটি একটি "নামযুক্ত বক্স" যেখানে আমরা মান (value) রাখতে পারি এবং পরে সেই মান ব্যবহার করতে পারি। JavaScript-এ মূলত তিন ধরনের ভেরিয়েবল ডিক্লেয়ার করা যায়: var, let, এবং const। এই ব্লগে আমরা এগুলোর ব্যবহার এবং পার্থক্য বিস্তারিতভাবে দেখব।
১. var
var হলো JavaScript-এ ভেরিয়েবল ডিক্লেয়ারের পুরনো পদ্ধতি। ECMAScript 5 এর আগে var ব্যবহারই ছিল প্রধান পদ্ধতি।
বৈশিষ্ট্য:
Function scoped:
varদ্বারা ডিক্লেয়ার করা ভেরিয়েবল শুধু সেই ফাংশনের মধ্যে দেখা যায়, যেখানে এটি ডিক্লেয়ার করা হয়েছে।Hoisting:
varভেরিয়েবলগুলোর ডিক্লেয়ারেশন ফাংশনের শুরুতেই চলে যায়। মান অবশ্যই ডিক্লেয়ার করার আগে ব্যবহার করলেundefinedহবে।একই নামের ভেরিয়েবল পুনরায় ডিক্লেয়ার করা যায়।
উদাহরণ:
var name = "Mannan";
console.log(name); // Output: Mannan
function example() {
var age = 25;
console.log(age); // Output: 25
}
console.log(age); // Error: age is not defined
২. let
ES6 থেকে let এন্ট্রি করেছে। এটি var এর তুলনায় আরও সেফ এবং মডার্ন।
বৈশিষ্ট্য:
Block scoped:
letদ্বারা ডিক্লেয়ার করা ভেরিয়েবল শুধুমাত্র সেই ব্লকের (যেমন{ }) মধ্যে ব্যবহৃত হয়, যেখানে এটি ডিক্লেয়ার করা হয়েছে।Hoisting আছে, কিন্তু Temporal Dead Zone (TDZ) এর কারণে ডিক্লেয়ার করার আগে ব্যবহার করলে Error দেয়।
একই ব্লকের মধ্যে একই নামের ভেরিয়েবল পুনরায় ডিক্লেয়ার করা যায় না।
উদাহরণ:
let city = "Dhaka";
console.log(city); // Output: Dhaka
if(true) {
let city = "Chattogram";
console.log(city); // Output: Chattogram
}
console.log(city); // Output: Dhaka
৩. const
const হলো constant ভেরিয়েবল, যার মান একবার সেট করলে পরিবর্তন করা যায় না।
বৈশিষ্ট্য:
Block scoped:
letএর মতো ব্লকের মধ্যে সীমাবদ্ধ।মান একবার অ্যাসাইন করা হলে তা পরিবর্তন করা যায় না।
সাধারণত ধ্রুবক মান বা ফাংশনের ভিতরে কনফিগারেশন সংরক্ষণ করতে ব্যবহার হয়।
উদাহরণ:
const pi = 3.1416;
console.log(pi); // Output: 3.1416
pi = 3.14; // Error: Assignment to constant variable.
টিপস: যদিও
constদ্বারা ডিক্লেয়ার করা array বা object কে পুনরায় reassignment করা যায় না, কিন্তু array বা object এর ভিতরের value পরিবর্তন করা যায়।
const numbers = [1, 2, 3];
numbers.push(4);
console.log(numbers); // Output: [1, 2, 3, 4]
৪. var, let, const এর পার্থক্য
| বৈশিষ্ট্য | var | let | const |
| Scope | Function | Block | Block |
| Reassignable | হ্যাঁ | হ্যাঁ | না |
| Redeclare | হ্যাঁ | না | না |
| Hoisting | হ্যাঁ (undefined) | হ্যাঁ (TDZ) | হ্যাঁ (TDZ) |
কখন কোনটি ব্যবহার করবেন?
যদি ভেরিয়েবল পরিবর্তনযোগ্য এবং ফাংশনের মধ্যে ব্যবহৃত হয় →
var(পুরনো কোডে)যদি ভেরিয়েবল ব্লক scoped এবং পরিবর্তনযোগ্য →
letযদি মান স্থির থাকে (constant) →
const
সাধারণভাবে, আধুনিক JavaScript-এ let এবং const ব্যবহার করা উত্তম, আর var কম ব্যবহার করা হয়।
JavaScript-এ ভেরিয়েবল ব্যবহারের সঠিক জ্ঞান খুবই গুরুত্বপূর্ণ। var, let, এবং const এর পার্থক্য জানা থাকলে কোড আরও নিরাপদ, পরিষ্কার এবং বাগ-মুক্ত হয়। সবসময় চেষ্টা করুন যেখানে সম্ভব const ব্যবহার করতে, যেখানে মান পরিবর্তন করতে হবে সেখানে let ব্যবহার করুন, আর পুরনো কোডে বা ফাংশন স্কোপ প্রয়োজন হলে var ব্যবহার করতে পারেন।




