Var, let, const এর মধ্যে পার্থক্য: কোনটি কখন ব্যবহার করবেন?
যখন আপনি JavaScript-এ কাজ করেন, তখন আপনাকে সাধারণত তিনটি মূল ভ্যারিয়েবল ঘোষণা করার পদ্ধতি নিয়ে ভাবতে হয়: var, let, এবং const। কিন্তু এগুলোর মধ্যে পার্থক্য কী? কখন কোনটি ব্যবহার করবেন? এই নিবন্ধে, আমরা বিস্তারিতভাবে এই তিনটি ভ্যারিয়েবলের মধ্যে পার্থক্য এবং উদাহরণসহ তাদের ব্যবহার জানবো।
var, let, const - প্রাথমিক ধারণা
JavaScript-এ ভ্যারিয়েবল ঘোষণার জন্য তিনটি কীওয়ার্ড ব্যবহার করা হয়: var, let, এবং const। প্রতিটি কীওয়ার্ডের নিজস্ব ব্যবহার ও সীমাবদ্ধতা রয়েছে, এবং তাদের পার্থক্য জানা অত্যন্ত গুরুত্বপূর্ণ।
১. var: পুরনো পদ্ধতি। JavaScript-এ প্রথম থেকেই এটি ব্যবহার হয়, তবে ES6 (ECMAScript 2015) এ let এবং const চালু হওয়ার পর থেকে এটি অনেক কম ব্যবহৃত হয়। var ব্যবহার করলে স্কোপ (scope) হিসেবে ফাংশন স্কোপ পাওয়া যায়, যেটি কিছু সময়ের জন্য বিভ্রান্তিকর হতে পারে।
২. let: এটি ES6 এ চালু হয়েছে এবং এটি ব্লক স্কোপে কাজ করে, অর্থাৎ এটি কেবল ওই ব্লকের মধ্যে কার্যকর থাকে যেখানে এটি ডিক্লেয়ার করা হয়েছে। এটি অনেক বেশি নিরাপদ এবং আধুনিক কোডিং প্র্যাকটিসের জন্য সুপারিশ করা হয়।
৩. const: এটি একধরনের স্ট্যাটিক ভ্যারিয়েবল যেখানে আপনি ডিক্লেয়ার করার পর তার মান আর পরিবর্তন করতে পারবেন না। এটি একটি কনস্ট্যান্ট হিসেবে কাজ করে এবং এটি কেবল ব্লক স্কোপে কার্যকর।
var, let, const এর মধ্যে পার্থক্য
এখন আমরা var, let, এবং const এর মধ্যে কী কী মূল পার্থক্য রয়েছে তা দেখে নেবো:
১. স্কোপ
var ভ্যারিয়েবল ফাংশন স্কোপে কাজ করে, অর্থাৎ এটি যদি একটি ফাংশনের মধ্যে ডিক্লেয়ার করা হয় তবে সেটি ওই ফাংশনের মধ্যে কার্যকর থাকে। কিন্তু যদি আপনি ব্লক (যেমন if স্টেটমেন্ট বা লুপ) এর মধ্যে var ব্যবহার করেন, তবে তা পুরো ফাংশনের মধ্যে দেখা যাবে।
উদাহরণ:
function example() {
if (true) {
var x = 10;
}
console.log(x); // 10
}
example();
এছাড়া, let এবং const ভ্যারিয়েবল ব্লক স্কোপে কাজ করে, যার মানে হচ্ছে তারা শুধুমাত্র যেখানে ডিক্লেয়ার করা হয় সেখানেই কার্যকর থাকে।
২. পুনঃমূল্যায়ন (Re-assignment)
var এবং let ভ্যারিয়েবল পুনঃমূল্যায়ন করা যেতে পারে, কিন্তু const ভ্যারিয়েবল একবার ডিক্লেয়ার করার পর তার মান আর পরিবর্তন করা যায় না।
উদাহরণ:
var x = 5; x = 10; // ঠিক আছে let y = 20; y = 25; // ঠিক আছে const z = 30; z = 35; // TypeError: Assignment to constant variable.
এটি একটি গুরুত্বপূর্ণ পার্থক্য, কারণ আপনি যদি কোনো ভ্যারিয়েবলকে অপরিবর্তনীয় রাখতে চান তবে const ব্যবহার করবেন।
৩. হোস্টিং (Hoisting)
JavaScript-এ ভ্যারিয়েবল ডিক্লেয়ারেশনের আগে আপনি সেটি ব্যবহার করতে পারেন, যেটি হোস্টিং (hoisting) নামে পরিচিত। তবে var হোস্টিং করে এবং তার মান হয় undefined। অন্যদিকে, let এবং const হোস্টিং করে কিন্তু তারা "temporal dead zone" এ থাকে, যার মানে আপনি এগুলি ব্যবহার করতে পারবেন না যতক্ষণ না তাদের জন্য মান অ্যাসাইন করা হয়।
উদাহরণ:
console.log(a); // undefined var a = 5; console.log(b); // ReferenceError: Cannot access 'b' before initialization let b = 10;
৪. ফাংশনাল স্কোপ বনাম ব্লক স্কোপ
var এর স্কোপ ফাংশনাল, যার মানে একটি ফাংশনের বাইরে ডিক্লেয়ার করা var ভ্যারিয়েবল ফাংশনের ভেতরে ব্যবহার করা যাবে। তবে let এবং const ভ্যারিয়েবলগুলির স্কোপ ব্লক স্কোপ, অর্থাৎ একটি ব্লকের মধ্যে ডিক্লেয়ার করা ভ্যারিয়েবল কেবল সেই ব্লকের মধ্যে কার্যকর থাকে।
উদাহরণ:
if (true) {
var a = 10;
let b = 20;
}
console.log(a); // 10
console.log(b); // ReferenceError: b is not defined
let, const এবং var এর ব্যবহার কখন করবেন?
এখন যে পার্থক্যগুলো জানলেন, তাহলে কখন কোনটি ব্যবহার করবেন? সাধারণতঃ:
- var ব্যবহার করবেন যখন পুরনো কোডবেসে কাজ করছেন বা ইন্টারন্যাশনাল কোড স্ট্যান্ডার্ড অনুসরণ করতে হবে। তবে, এটি এখন অনেক কম ব্যবহৃত হয়।
- let ব্যবহার করবেন যখন ভ্যারিয়েবলটি পরিবর্তনযোগ্য এবং আপনি ব্লক স্কোপে কাজ করছেন। এটি আধুনিক JavaScript-এ অধিক ব্যবহার করা হয়।
- const ব্যবহার করবেন যখন ভ্যারিয়েবলটি অপরিবর্তনীয় এবং আপনি চাইছেন যে সেটির মান কখনো পরিবর্তিত না হোক।
উপসংহার
JavaScript-এ var, let, এবং const এর মধ্যে পার্থক্য বুঝে, আপনি খুব সহজেই সঠিক ভ্যারিয়েবল ঘোষণা করতে পারবেন। আধুনিক কোডিং প্র্যাকটিসে let এবং const ব্যবহারের প্রতি বেশি মনোযোগ দেওয়া হয়, কারণ এগুলি আরও নিরাপদ এবং কার্যকর। তবে, var এখনো কিছু ক্ষেত্রে ব্যবহৃত হয়, বিশেষত পুরনো কোডে। আশা করি, এই নিবন্ধটি আপনার জন্য উপকারী ছিল!

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!