প্রিমিটিভ ডেটা টাইপ
প্রিমিটিভ মানসমূহ অপরিবর্তনীয় (immutable) এবং ECMAScript স্ট্যান্ডার্ড দ্বারা আপন করা হয়েছে। জাভাস্ক্রিপ্টে তিনটি মূল প্রিমিটিভ ডেটা টাইপ রয়েছে:
- Numbers: যেমন 3, 310.20 ইত্যাদি
- Strings: যেমন "This text string" ইত্যাদি
- Boolean: true বা false
এছাড়া দুটি তुच্ছ (trivial) ডেটা টাইপ রয়েছে: null এবং undefined।
কম্পোজিট ডেটা টাইপ: অবজেক্ট
জাভাস্ক্রিপ্টে অবজেক্ট হলো প্রোপার্টির একটি সংকলন। প্রোপার্টি দুটি প্রকারের হতে পারে:
১. ডেটা প্রোপার্টি (Data Property)
একটি কী (key) কে একটি মানের সাথে সংযুক্ত করে।
// প্রিমিটিভ স্ট্রিং
var str = "Demo string!";
// স্ট্রিং অবজেক্ট
var str = new String("Demo string!");
২. অ্যাক্সেসর প্রোপার্টি (Accessor Property)
একটি কী কে অ্যাক্সেসর ফাংশন (getter/setter) এর সাথে সংযুক্ত করে। এটি মান সংরক্ষণের জন্য ব্যবহৃত হয়।
মূল পার্থক্য সারসংক্ষেপ
| বিষয় | প্রিমিটিভ | অবজেক্ট |
|---|---|---|
| মিউটেবিলিটি | ইমিউটেবল (অপরিবর্তনীয়) | মিউটেবল (পরিবর্তনযোগ্য) |
| তুলনা | মানের ভিত্তিতে (by value) | রেফারেন্সের ভিত্তিতে (by reference) |
| মেথড | নেই (অটো-বক্সিং হয়) | আপনার মেথড থাকতে পারে |
| মেমরি | স্টকে সংরক্ষিত | হিপে সংরক্ষিত |