জাভাস্ক্রিপ্টে মোড়ানো অবজেক্টস
এই প্রবন্ধটি জাভাস্ক্রিপ্টে মোড়ানো অবজেক্ট সম্পর্কে আলোচনা করে।
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এর মতো অবজেক্ট, যেগুলি প্রিমিটিভ টাইপ থেকে অস্থায়ীভাবে রূপান্তরিত হয়।
আপনি আমাদের ইউটিউব চ্যানেলে ভিজ্যুয়াল স্টুডিও কোড ব্যবহার করে উপরের নিবন্ধটি অনুসরণ করতে পারেন। দয়া করে ইউটিউব চ্যানেলটিও দেখুন।