কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে var এবং let-এর পার্থক্য


আমরা জানি জাভাস্ক্রিপ্টে ভেরিয়েবল ডিক্লেয়ার করার দুটি অপশন রয়েছে: var বা let। প্রশ্ন হলো কখন var এবং কখন let ব্যবহার করবো অর্থাৎ উভয়ের মূল পার্থক্য কী।

নিচের টেক্সটে আমরা জাভাস্ক্রিপ্টে var এবং let-এর মূল পার্থক্য জানব।

let এবং var-এর মূল পার্থক্য হলো let দিয়ে ডিফাইন করা ভেরিয়েবলের স্কোপ সেটি যে ব্লকে ডিক্লেয়ার করা হয়েছে সেটি পর্যন্ত সীমাবদ্ধ যখন var দিয়ে ডিক্লেয়ার করা ভেরিয়েবলের গ্লোবাল স্কোপ থাকে। তাই আমরা বলতে পারি var হলো এমন একটি কীওয়ার্ড যা ব্লক স্কোপ নির্বিশেষে গ্লোবালি ভেরিয়েবল ডিফাইন করে।

let-এর স্কোপ শুধু সেটি যে ব্লকে ডিফাইন করা হয়েছে সেটি পর্যন্ত সীমাবদ্ধ নয়, বরং let দিয়ে ডিক্লেয়ার করা ভেরিয়েবল কোনো ব্লকের বাইরে ডিক্লেয়ার করা হলেও গ্লোবাল window অবজেক্টের সাথে অ্যাড হয় না। কিন্তু var দিয়ে ডিক্লেয়ার করা ভেরিয়েবল গ্লোবালি ডিফাইন থাকলে window অবজেক্ট থেকে এক্সেস করা যায়।

সীমাবদ্ধ স্কোপের কারণে let ভেরিয়েবল সাধারণত তখন ব্যবহার করা হয় যখন সেগুলোর সীমিত ব্যবহার থাকে যেমন for loops, while loops বা if কন্ডিশনের স্কোপের ভিতরে। var ভেরিয়েবল তখন ব্যবহার করা হয় যখন ভেরিয়েবলের মান কম পরিবর্তন হয় এবং গ্লোবালি অ্যাক্সেস করতে হয়।

এছাড়া, var এবং let-এর একটি পার্থক্য হলো var দিয়ে ডিক্লেয়ার করা ভেরিয়েবল অন্য মান দিয়ে রি-ডিক্লেয়ার করা যায় কিন্তু let দিয়ে ডিক্লেয়ার করা ভেরিয়েবল রি-ডিক্লেয়ার করা যায় না।

var এবং let-এর পার্থক্য দেখানো উদাহরণ

let a = 'hello'; // গ্লোবালি স্কোপড var b = 'world'; // গ্লোবালি স্কোপড console.log(window.a); // undefined console.log(window.b); // 'world' var a = 'hello'; var a = 'world'; // কোনো সমস্যা নেই, 'hello' রিপ্লেস হয়েছে। let b = 'hello'; let b = 'world'; // SyntaxError: Identifier 'b' has already been declared

  1. জাভাস্ক্রিপ্টে বর্গের যোগফল এবং যোগফলের বর্গের পার্থক্য

  2. জাভাস্ক্রিপ্টে অ্যারেতে যোগফল ও গুণফলের পার্থক্য বের করা

  3. PHP এবং JavaScript এর পার্থক্য

  4. C#-তে var এবং dynamic-এর পার্থক্য