জাভা স্ক্রিপ্টের সাহিত্যে ভেরিয়েবল কি জিনিস!
Mustafa Rahman Full stack Web developer,
জাভাস্ক্রিপ্টে, ভেরিয়েবল হল একটি নাম সংবলিত মেমরি রেফারেন্স যা বিভিন্ন ধরণের ডেটা যেমন সংখ্যা, স্ট্রিং, বুলিয়ান, অবজেক্ট বা ফাংশন ধারণ করতে পারে।
এটা একটু বিভ্রান্তিকর, তাই না? বিষয় টা সহজ ভাবে বুঝতে হলে আমাদের কম্পিউটারের মেমরির দিকে দেখতে হবে। আপনার যদি কম্পিউটার মেমরি সম্পর্কে প্রাথমিক ধারণা থাকে তবে আপনি অবশ্যই জানেন যে কম্পিউটার মেমরিতে লক্ষ লক্ষ সেল রয়েছে এবং প্রতিটি সেলের নিজস্ব ঠিকানা/অ্যাড্রেস রয়েছে।
আমাদের প্রোগ্রামে, যদি আমরা কোন ভেল্যু/মান কে পরবর্তিতে অ্যাক্সেস/ব্যবহার করতে চায়, আমাদের এটিকে কম্পিউটারের মেমরিতে রাখতে হবে এবং যখনই আমাদের প্রয়োজন হবে তখন আমাদের সেই মানটিকে কল করার একটি উপায় প্রয়োজন হবে। আমরা মেমরিতে ডেটা সংরক্ষণ করার পরে মেমরি ঠিকানা/অ্যাড্রেস ব্যবহার করে এটি করতে পারতাম।
সমস্যা হল আমরা এই ঠিকানাটি/ অ্যাড্রেসটি সরাসরি আমাদের প্রোগ্রামে ব্যবহার করতে পারি না। কারণ, অমরা জানি কম্পিউটার বাইনারি সিস্টেমে কাজ করে এবং বাইনারি সিস্টেমে এই মেমরি অ্যাড্রেসটি খুব অদ্ভুত এবং বিভ্রান্তিকর দেখায়। এছাড়াও, এটি মনে রাখা প্রায় অসম্ভব। ভেরিয়েবল আমাদের এই সমস্যার সবচেয়ে সহজ সমাধান প্রদান করে। আমরা একটি ভেরিয়েবল তৈরি করে যে মানটি সংরক্ষণ করতে চাই তা সংরক্ষণ করতে পারি। এখন আমাদের অদ্ভুত এবং বিভ্রান্তিকর মেমরি ঠিকানা মুখস্থ করার দরকার নেই । আমরা ভেরিয়েব্লের নামটি ব্যবহার করেই আমাদের ভেল্যু টাকে ব্যবহার করতে পারি।
যখন আমরা একটি ভেরিয়েবল তৈরি করি এবং এটিতে একটি মান সংরক্ষণ করি। এর পিছনে কম্পাইলার এবং ইন্টারপ্রেটার মেমরির ভিতরে ডেটা সংরক্ষণ করে এবং ভেরিয়েবলের প্রতীকী নামগুলিকে ডেটার মেমরি ঠিকানা দিয়ে প্রতিস্থাপন করে। তার মানে আমাদের ডেটা মেমরিতে সংরক্ষণ করা হয়েছে এবং ভেরিয়েবলটি এই মেমরি অবস্থানের দিকে নির্দেশ করছে।
বিশেষ দ্রষ্টব্য: বাস্তব পরিস্থিতিতে, মেমরি বরাদ্দ করা এত সহজ নয় যতটা আমি এখানে আলোচনা করেছি। এছাড়াও, জাভাস্ক্রিপ্টে ভেরিয়েবলের জন্য প্রিমিটিভ টাইপ এবং রেফারেন্স টাইপ মানগুলিকে আলাদাভাবে বিবেচনা করা হয়। কিন্তু এখানে, আমি এডভান্সট জিনিসগুলি নিয়ে অয়ালোচনা করছি না এবং এটিকে সহজ রেখেছি যাতে আপনি বিহাইন্ড দা সিন্স জিনিস গুলো কীভাবে কাজ করে তার একটি সামগ্রিক ধারণা পেতে পারেন। যদি এখনও বুঝতে কষ্ট হয় তবে ভেরিয়েবলকে লেবেলযুক্ত বক্সে কিছু রাখার সাথে তুলনা করুন। এর মানে, একটি ভেরিয়েবল তৈরি ভেরিয়েবলের একটি আদর্শ নাম দেওয়া এটিতে একটি মান ভেল্যু এসাইন করা এই ধাপ গুলোকে বিবেচনা করুন একটি বক্স নেওয়া এটাতে লেবেল যুক্ত করা এই বক্সে কিছু রাখা. বিশেষ দ্রষ্টব্য: জাভাস্ক্রিপ্ট ভেরিয়েবল একটি বক্স, একটি মান নয়, এর মানে হল যে ভেরিয়েবলগুলি নিজেই মান নয়; তারা মানগুলির জন্য একটি নামযুক্ত বক্স।