জাভাস্ক্রিপ্টে মোড়ানো অবজেক্টস
এই প্রবন্ধটি জাভাস্ক্রিপ্টে মোড়ানো অবজেক্ট সম্পর্কে আলোচনা করে।
YouTube Video
র্যাপার অবজেক্টস
জাভাস্ক্রিপ্টে প্রাথমিক প্রকারসমূহ এবং সেগুলিকে পরিচালনার জন্য অবজেক্টস রয়েছে (র্যাপার অবজেক্টস)।
প্রাথমিক প্রকারসমূহ
মূল ধরনেরা একটি একক মান উপস্থাপন করে এবং এগুলি সহজ ও হালকা হয়। এগুলি অপরিবর্তনীয় (পরিবর্তন করা যায় না) এবং সরাসরি অবজেক্ট মেথড বা প্রপার্টি থাকে না, তবে অপারেশনের জন্য এগুলি সাময়িকভাবে র্যাপার অবজেক্টে রূপান্তর করা যেতে পারে।
string
এবং number
হলো মূল ধরনের উদাহরণ। অন্যদিকে, র্যাপার অবজেক্টগুলো বড় অক্ষরে শুরু হয়, যেমন String
এবং Number
।
মোড়ানো অবজেক্টস
প্রিমিটিভ টাইপ নিয়ন্ত্রণ করার জন্য, জাভাস্ক্রিপ্ট সাময়িকভাবে মোড়ক অবজেক্ট (Object
মোড়ক) তৈরি করে। মোড়ক অবজেক্টগুলিতে প্রিমিটিভ টাইপের জন্য মেথড এবং প্রপার্টি থাকে।
Number
1let numObject = new Number(42); // Wrapper object
2
3console.log(typeof numObject); // object
4console.log(numObject.valueOf()); // 42
5
6let numValue = Number(42); // Return primitive value
7
8console.log(typeof numValue); // number
9console.log(numValue); // 42
Number
একটি অবজেক্ট টাইপ যা একটি প্রিমিটিভnumber
কে মোড়ক করে।Number
অবজেক্ট তৈরি করে আপনি একটি সংখ্যা প্রিমিটিভnumber
এর মতো পরিচালনা করতে পারেন, তবে সাধারণত প্রিমিটিভnumber
টাইপ ব্যবহার করার সুপারিশ করা হয়।
typeof numObject
হলো"object"
, কিন্তুtypeof 42
হলো"number"
।
new
অপারেটর ব্যবহার করে নতুন একটি মোড়ক অবজেক্ট তৈরি করা এবংNumber
কে একটি ফাংশনের মতো কল করা বিভিন্ন ফলাফল দেয় তা মনে রাখবেন। ফাংশন হিসাবে ডাকার সময় প্রিমিটিভnumber
ফেরত দেয়।
String
1let strObject = new String("Hello"); // Wrapper object
2
3console.log(typeof strObject); // object
4console.log(strObject.valueOf()); // Hello
- এটি একটি অবজেক্ট টাইপ যা একটি প্রিমিটিভ
string
কে মোড়ক করে।String
অবজেক্ট ব্যবহার করে আপনি স্ট্রিং প্রপার্টি এবং মেথডে অ্যাক্সেস করতে পারেন, তবে সাধারণত প্রিমিটিভstring
ব্যবহার করা হয়।
typeof strObject
হলো"object"
, কিন্তুtypeof "Hello"
হলো"string"
।
Number
এর মতোই, ফাংশনের মতোString
কল করলে তা প্রিমিটিভstring
রিটার্ন করে।
Boolean
1let boolObject = new Boolean(true); // Wrapper object
2
3console.log(typeof boolObject); // object
4console.log(boolObject.valueOf()); // true
- এটি একটি অবজেক্ট টাইপ যা একটি প্রিমিটিভ
boolean
কে মোড়ক করে। আপনি ইচ্ছাকৃতভাবে একটিBoolean
অবজেক্টও তৈরি করতে পারেন, তবে সাধারণত প্রিমিটিভboolean
টাইপই ব্যবহার করা হয়।
typeof boolObject
হলো"object"
, কিন্তুtypeof true
হলো"boolean"
।
Number
-এর মতো, ফাংশনের মতোBoolean
কল করলে তা প্রিমিটিভboolean
রিটার্ন করে।
BigInt
1let bigIntObject = Object(9007199254740991n); // Wrapper object
2
3console.log(typeof bigIntObject); // object
4console.log(bigIntObject.valueOf()); // 9007199254740991n
5
6let bigIntValue = BigInt(9007199254740991); // Return primitive BigInt
7
8console.log(typeof bigIntValue); // bigint
9console.log(bigIntValue); // 9007199254740991n
10
11// Error
12let bigIntObject2 = new BigInt(9007199254740991n);
Object
を使ってBigInt
のラッパーオブジェクトを生成できますが、通常はプリミティブ型のbigint
を直接使うのが一般的です。
typeof bigIntObject
は"object"
であるのに対し、typeof 9007199254740991n
は"bigint"
です。
BigInt
を関数として呼び出すとプリミティブなbigint
を返しますが、new
演算子をつけてBigInt
のラッパーオブジェクトを生成することはできません。
Symbol
1let symObject = Object(Symbol("id")); // Wrapper object for Symbol
2
3console.log(typeof symObject); // object
4console.log(symObject.valueOf()); //
- আপনি
Symbol
এর জন্য একটি মোড়ক অবজেক্ট তৈরি করতেObject
ব্যবহার করতে পারেন, তবে সাধারণত আপনি সরাসরিSymbol
প্রিমিটিভ টাইপ ব্যবহার করেন।
প্রিমিটিভ টাইপ এবং মোড়ক অবজেক্টের মধ্যে পার্থক্য
- প্রিমিটিভ টাইপগুলি হালকা ও মেমরি দক্ষ, কিন্তু এগুলোর সরাসরি প্রপার্টি বা মেথড থাকে না। তবে, জাভাস্ক্রিপ্টে, প্রয়োজন হলে প্রিমিটিভ টাইপের সাথেও সাময়িক মোড়ক অবজেক্ট স্বয়ংক্রিয়ভাবে তৈরি করা হয় মেথড এবং প্রপার্টি সরবরাহ করার জন্য।
1let text = "Hello";
2
3// A temporary String object is created,
4// allowing access to the length property
5console.log(text.length);
- মোড়ক অবজেক্টগুলি হ'ল ইচ্ছাকৃতভাবে তৈরি করা অবজেক্ট যা মেমরি এবং কার্যক্ষমতাকে প্রভাবিত করতে পারে, তাই সাধারণত প্রিমিটিভ টাইপ ব্যবহার করার সুপারিশ করা হয়।
উপসংহার
- প্রিমিটিভ টাইপ: হালকা ওজনের টাইপ যেমন
number
,string
,boolean
,null
,undefined
, এবংsymbol
, যেগুলির সরাসরি মেথড থাকে না। - র্যাপার অবজেক্ট:
Number
,String
, এবংBoolean
এর মতো অবজেক্ট, যেগুলি প্রিমিটিভ টাইপ থেকে অস্থায়ীভাবে রূপান্তরিত হয়।
আপনি আমাদের ইউটিউব চ্যানেলে ভিজ্যুয়াল স্টুডিও কোড ব্যবহার করে উপরের নিবন্ধটি অনুসরণ করতে পারেন। দয়া করে ইউটিউব চ্যানেলটিও দেখুন।