আসসালামু আলাইকুম । আশা করি সবাই ভাল আছেন । আমিও মহান আল্লাহ্র অশেষ রহমতে ভাল আছি ।
আমাদের আজকের আলোচনার বিষয় হচ্ছে জাভাস্ক্রিপ্ট অবজেক্ট । এটা জাভাস্ক্রিপ্ট খুবই গুরুত্বপূর্ণ একটি আলোচনা । আশা করি সবাই মনোযোগ সহকারে টিউটোরিয়ালটি পড়বেন । কথা না বাড়িয়ে চলুন শুরু করি;
জাভাস্ক্রিপ্ট একটি অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং । একটি অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং (Object Oriented Programming) ল্যাংগুয়েজ প্রোগ্রামারকে তাঁর নিজস্ব অবজেক্ট নির্ধারণ করার সুবিধা প্রদান করে । এছাড়া অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাংগুয়েজ প্রোগ্রামারকে নিজস্ব ভেরিয়েবল তৈরি করার সুযোগ প্রদান করে । যদি এই (Encapsulation, Aggregation, Inheritance, Polymorphism) চারটি বৈশিষ্ট্য থাকে তাহলে একটি ল্যাংগুয়েজকে অবজেক্ট ওরিয়েন্টেড বলা হবে ।
আমরা ইতোমধ্যে জাভাস্ক্রিপ্ট ভেরিয়েবল, অপারেটর এবং ফাংশন নিয়ে আলোচনা করেছি । এবার আমরা কিছুটা জটিল বিষয়ে অগ্রসর হবো । অবজেক্ট বলতে কোন বস্তুকে বুঝায় । অবজেক্ট হচ্ছে বিশেষ ধরনের ডাটা যার প্রোপার্টি এবং মেথড রয়েছে । প্রতিটি অবজেক্ট এর প্রোপার্টি এবং মেথড রয়েছে । অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাংগুয়েজ এ আপনি বেশ কিছু কৌশল অবলম্বন করে অবজেক্ট তৈরি করতে পারেন এবং এসব অবজেক্ট এর প্রোপার্টি পরিবর্তন করতে পারেন । অবজেক্ট এর প্রোপার্টি এবং মেথড ব্যবহার করে প্রোগ্রামিং এর কাজ করা হয় । এখন আমরা প্রোপার্টি এবং মেথড সম্পর্কে কিছু জানার চেষ্টা করবো ।
অবজেক্ট এর সাথে বেশ কিছু ভ্যালু সংযুক্ত থাকে । এসব ভ্যালুসমূহকে বলা হয় প্রোপার্টি ।
প্রোপার্টি এর সিনট্যাক্সটি হচ্ছে;
objectName.objectProparty = propartyValue;
বিষয়টি আরও ভাল বুঝতে নিচের কোডটুকু লিখে index.html নামে সেভ করুন;
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title> JavaScript Object </title> </head> <body> <script type="text/javascript"> var about='Hi, I am Jihadur Rahman'; document.write(welcome.toLowerCase()); </script> </body> </html>
এবার যদি index.html ফাইলটি একটি ব্রাউজারে প্রদর্শন করান তাহলে 23 লেখাটি দেখতে পারবেন । এ সম্পর্কে বিস্তারিত আলোচনা করা হয়েছে ।
মেথড হচ্ছে কিছু কার্যক্রম যা অবজেক্ট এর উপর সম্পাদিত হয় ।
মেথড এর সিনট্যাক্সটি হচ্ছে;
objName.methodName();
বিষয়টি আরও ভাল বুঝতে নিচের কোডটুকু লিখে index.html নামে সেভ করুন;
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title> JavaScript Object </title> </head> <body> <script type="text/javascript"> var welcome='Hi, I am Jihadur Rahman'; document.write(welcome.toLowerCase()); </script> </body> </html>
এবার যদি index.html ফাইলটি একটি ব্রাউজারে প্রদর্শন করান তাহলে Hi, I am Jihadur Rahman' লেখাটি ছোট হাতের অক্ষরে দেখতে পারবেন । এ সম্পর্কে বিস্তারিত আলোচনা করা হয়েছে ।
জাভাস্ক্রিপ্ট অবজেক্টকে সাধারণত দুইটি ভাগে ভাগ করা যায়;
জাভাস্ক্রিপ্ট এ বেশ কিছু বিল্ট ইন অবজেক্ট রয়েছে । বিল্ট ইন অবজেক্ট (Built in Object) কে নেটিভ অবজেক্ট (Native Object) ও বলা হয়ে থাকে । এখন আমি কয়েকটি বিল্ট ইন অবজেক্ট এর লিস্ট নিচে আলোচনা করছি;
Array Object: অ্যারে হল একটি বিশেষ ধরণের ভেরিয়েবল যা একাধিক ভ্যালুকে সংরক্ষণ করতে পারে । ভেরিয়েবল এ সাধারণত প্রথমে একটি মান সংরক্ষণ করা হয় এবং পরবর্তীতে এই ভেরিয়েবল নিয়ে কাজ করা হয় । তবে, ভেরিয়েবলের একটি সীমাবদ্ধতা রয়েছে । সেটা হচ্ছে একটি ভেরিয়েবল এ আপনি কেবল একটি মান সংরক্ষণ করতে পারেন । এ সম্পর্কে উদাহরণ সহ পূর্বে আলোচনা করা হয়েছে ।
String Object: স্ট্রিং (String) হল কতগুলো ক্যারেক্টারের সমষ্টি । জাভাস্ক্রিপ্ট স্ট্রিং এর মাধ্যমে টেক্সট নিপুনভাবে সংরক্ষণ করা হয় । জাভাস্ক্রিপ্ট বেশকিছু বর্ণসমষ্টিকে সংরক্ষণ করতে পারে । জাভাস্ক্রিপ্ট এ কোন তথ্য সংরক্ষণের জন্য স্ট্রিং ব্যবহার করা হয়ে থাকে । স্ট্রিং সম্পর্কে উদাহরণ সহ পূর্বে আলোচনা করা হয়েছে ।
Date Object: জাভাস্ক্রিপ্ট ডেট অবজেক্ট এর মাধ্যমে তারিখ এবং সময় নিয়ে আলোচনা করা হয় । ডেট অবজেক্ট এর জন্য মেথড ভেরিয়েবলসমূহ ব্যবহার করে আমরা খুব সহজেই ডেট প্রদর্শন করতে পারি । এছাড়া দুইটি তারিখের মধ্যে তুলনা করতে ডেট অবজেক্ট ব্যবহার করা হয় । পরবর্তী টিউটোরিয়াল এ জাভাস্ক্রিপ্ট ডেট অবজেক্ট নিয়ে বিস্তারিত আলোচনা করবো – ইনশাল্লাহ্ ।
Math Object: গাণিতিক কাজ করার জাভাস্ক্রিপ্ট ম্যাথ অবজেক্ট ব্যবহার করা হয় । এখানে কাজ সম্পাদন করতে পারবেন ।
RegExp: আমরা কিছুক্ষন আগে জেনেছি যে, স্ট্রিং হল কতগুলো ক্যারেক্টারের সমষ্টি । এই অবজেক্ট এর মাধ্যমে আপনি কোন স্ট্রিং এর কোথায়, কোন ধরনের ক্যারেক্টার সার্চ করতে চান টা নির্ধারণ করে দিতে পারেন । এছাড়া, আপনি স্ট্রিং এর বেশ কিছু বিষয় নির্ধারণ করতে পারেন Regexp Object এর মাধ্যমে । RegExp এর পূর্ণরূপ হচ্ছে Regular Expression ।
Boolean Object: একটি non-boolean ভ্যালুকে boolean ভ্যালুতে রূপান্তর করতে জাভাস্ক্রিপ্ট বুলিয়ান অবজেক্ট ব্যবহার করা হয় যা পরবর্তীতে আলোচনা করা হবে ।
আমরা বেশ কিছু পদ্ধতিতে ইউজার ডিফাইন অবজেক্ট তৈরি করতে পারি । এক্ষেত্রে, প্রথমে অবজেক্ট এর নাম দেওয়া হয় । এরপর প্রোপার্টি এবং প্রোপার্টি এর ভ্যালু দেওয়া হয় । ইউজার ডিজাইন অবজেক্ট এর সিনট্যাক্সটি হচ্ছে;
objectName={property1 : value1, property2 : value2, property3 : value3,..,propertyN:valueN}
জাভাস্ক্রিপ্ট ধারাবাহিক টিউটোরিয়াল এর ১৩তম পর্বের আলোচনা এখানেই শেষ করছি । আশা করি বুঝতে পেরেছেন । যদি বুঝতে কোন অসুবিধা হয় তাহলে আমাকে কমেন্ট এর মাধ্যমে জানাতে পারেন । জাভাস্ক্রিপ্ট অবজেক্ট এর বিষয় সমূহ আপনাদের কাছে হয়ত এখন কিছুটা কঠিন মনে হচ্ছে । একটু ভাল করে প্র্যাকটিস করুন তাহলে ব্যাপারটি আপানদের কাছে অনেক সহজ হয়ে যাবে – ইনশাল্লাহ্ ।
আজ আর নয় । টিউটোরিয়ালটি ভাল লাগলে কমেন্ট করবেন ।
সবাই ভাল থাকবেন । আল্লাহ্ হাফেজ ।
আমি জিহাদুর রহমান। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 11 বছর 11 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 51 টি টিউন ও 194 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 0 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।