জাভাস্ক্রিপ্ট টিউটোরিয়াল-শিখুন গল্পে গল্পে সাথে 1100+ Exercise

  • জাভাস্ক্রিপ্ট পরিচিতি-Introduction to JavaScript
  • প্রোগ্রামিং শুরু করতে কতটুকু গণিত লাগে?
  • প্রোগ্রামিং শুরু করতে কতটুকু ইংরেজি জানা লাগে?
  • ভালো প্রোগ্রামার কিভাবে হবো? [+৭টি গুরুত্বপূর্ণ টিপস]
  • object-এর অবজেকশন
  • গার্ডওয়ালা property এর key
  • অবজেক্টের তালা-চাবি
  • Freeze-এ বন্দি অবজেক্ট

object-এর অবজেকশন


Uploaded Image


ভেরিয়েবল আর অ্যারের মধ্যে কথা কাটাকাটি। ভেরিয়েবল বলে আমি বড়। আমি সব করতে পারি। অ্যারে বলে আমি বড়। এই নিয়ে ঝগড়া, মারামারি করে মামলা পর্যন্ত চলে গেছে। আদালতে এইটা নিয়ে বিচার বসছে। সেখানে আইনজীবী বলছে— অবজেকশন মিলর্ড।

তখন বিচারক একটা প্রশ্ন করল— আমি যদি কোনো একটা স্টুডেন্টের ডাটা রাখতে চাই একটা জিনিসের মধ্যে, যেটার মধ্যে একজন স্টুডেন্টের আইডি, নাম, সে কোন ক্লাসে পড়ে, তার উচ্চতা, তার ওজন, সাবজেক্ট ইত্যাদি সব লিখে দিতে হবে। সেটা কি একটা ভেরিয়েবলে পারবি? 


ভেরিয়েবল বলে, না হুজুর। আমি একটা ভেরিয়েবলে এত কিছু রাখতে পারব না। আমার অনেকগুলা ভেরিয়েবল লাগবে। 


পাশে থেকে মুচকি হেসে অ্যারে বলল, আমি তো পারব। একটা অ্যারের মধ্যে সব কমা দিয়ে আলাদা আলাদা করে লিখে দিব নিচের মতো করে—


  const student = [25, ‘kopa samsu’, 9, 15, 40, ‘Bangla’, ‘Math’, ‘ICT’ ]


বিচারক হো হো করে হেসে বলল— এখানে কোনটা স্টুডেন্টের বয়স, কোনটা তার ক্লাস, আর কোনটা তার ওজন, কোনটা আইডি, সব গুবলেট পেকে গেছে। কোনো কিছু ক্লিয়ারলি বুঝা যাচ্ছে না।


একজন স্টুডেন্টের অনেকগুলা বৈশিষ্ট্য থাকে, সেগুলা বুঝতে হলে আলাদা আলাদাভাবে স্পষ্ট করে বুঝায় দিতে হবে। কোনটা কী জিনিস। যেমন, নিচে প্রত্যেকটা বৈশিষ্ট্যের নাম ও মান লিখে দিচ্ছি। দেখ, ক্লিয়ারলি বুঝা যাচ্ছে কি না। কোনটা কোন জিনিস।


  id: 25  
  class: 9 
  age: 15
  weight: 40
   

অর্থাৎ অনেকগুলা ছোট ছোট বৈশিষ্ট্য বা প্রপার্টি দিয়ে যদি কোনো একটা জিনিস বা ভেরিয়েবল বুঝানোর দরকার হয়, তখন সিম্পল ভেরিয়েবল বা array দিয়ে কাজ হবে না। সেজন্যই হয়তো তুই যদি একটা মোটর সাইকেলকে বুঝানোর চেষ্টা করিস, তাহলে তার ব্রান্ডের নাম, দাম, কালার, পাওয়ার কত, এইরকম অনেকগুলা তথ্য দিয়ে পুরা মোটর সাইকেলটা বুঝানো হয়।


সো, এইরকম যেকোনো একটা স্পেসিফিক জিনিস (‘জিনিস’ শব্দের ইংরেজি হচ্ছে object) বা অবজেক্টকে বুঝাইতে হলে অনেক ধরনের ডাটা টাইপ ব্যবহার করে অনেক ধরনের ভেরিয়েবলের মাধ্যমে বুঝাইতে হবে। অর্থাৎ সহজ সমাধান হচ্ছে object ক্রিয়েট করতে হবে।


object ডিক্লেয়ার করার কিছু সিস্টেম আছে। ঠিক যেমন করে তুই একটা ভেরিয়েবল ডিক্লেয়ার করস, ঠিক তেমন করেই একটা object-এর নাম ডিক্লেয়ার করে সমান চিহ্ন দেয়ার পরে { } সেকেন্ড ব্র্যাকেট দিবি। এর আগে ভেরিয়েবল ডিক্লেয়ার করে সমান চিহ্নের পরে তার মান বা ভ্যালু দিতি, আর object ডিক্লেয়ার করার সময় সমান চিহ্নের পরে সেকেন্ড ব্র্যাকেট { } দিবি।


  const student = { }


এইটা হচ্ছে একটা খালি বা empty অবজেক্ট। অর্থাৎ অবজেক্ট হইলেও এইটার ভিতরে কোনো কিছু নাই। সব খালি। মান দিতে হলে এই সেকেন্ড ব্র্যাকেটের ভিতরে তোর মানগুলো দিতে হবে এবং সেকেন্ড ব্র্যাকেটের মধ্যে অবজেক্টের বৈশিষ্ট্যগুলো জোড়ায় জোড়ায় লিখতে হবে। জোড়ায় জোড়ায় লেখার সিস্টেমের মধ্যে দুইটা পার্ট থাকে। একটা হচ্ছে বৈশিষ্ট্যের নাম। এই নামকে key বলে। সেটার নাম লিখবি। অর্থাৎ কী বৈশিষ্ট্য, সেটা বলবি। তারপর কোলন চিহ্ন(:) দিয়ে সেটার মান লিখবি। যেমন, marks যদি 45 হয়, তাহলে লিখবি marks : 45, এরপর একটা কমা দিবি।


অনেকটা array-এর মতো। প্রত্যেকটা জোড়ার পর কমা দিতে হবে জোড়াগুলোকে আলাদা করার জন্য। আর সবার শেষ জোড়ার পরে যেহেতু আর কোনো জোড়া নাই, তাই তখন আর কমা দেয়া লাগবে না।


তুই যদি স্টুডেন্ট নামে একটা অবজেক্ট ডিক্লেয়ার করতে চাস, সেটাও করতে পারিস নিচের মতো করে


  const student= {
    name: ‘Motaleb’,
    age: 15,
    class: 9,
    isSingle: false
  }


একদম সেইমভাবে তুই ফোনের জন্য একটা অবজেক্ট লিখতে পারবি 


  const phone= {
   brand: ‘apple’,
   price: 80000,
   color: ‘solver’,
   version: 20
}


জুসের জন্য অবজেক্ট বানাতে পারবি


  const juice = {
   name: ‘Green Mango’,
   price: 100,
   sugar: false
  }


গাড়ির জন্য অবজেক্ট লিখতে চাইলে লিখতে পারবি 


  const car = {
   brand : ‘BMW’,
   wheels : 4,
   maxSpeed: 100,
   ac : true
  }


অবজেক্টের মধ্যে যেসব প্রপার্টি আমরা লিখি, সেগুলার নাম (key) সাধারণত স্ট্রিং দিয়ে নাম হয়। অনেকটা ভেরিয়েবলের নামের মতো। আর সেগুলার মান (value) কিন্তু যেকোনো কিছু হতে পারে। অর্থাৎ মান স্ট্রিং হতে পারে, সংখ্যা হতে পারে, বুলিয়ান হতে পারে। এমনকি array বা আরেকটা অবজেক্টও হতে পারে। তাই নিচের উদাহরণটা দেখে ফেল।


এখন যদি তুই কোনো একটা subject-এর জন্য object ক্রিয়েট করতে চাস, সেটা তুই এভাবে করতে পারিস


  const subject = {
   name: ‘biology’,
   teacher: ‘rasheda’,
   examDate: ‘30 dec’,
   chapters: [‘first’, ‘second’, ‘third’],
   nextExam: {
     name: ‘Final Exam’,
     marks: 100
    }
  }


এই অবজেক্টে তুই একটা জিনিস যদি ভালোমতো খেয়াল করে দেখিস, দেখবি এখানে একটা অবজেক্টের ভিতর আরও একটা অবজেক্ট ক্রিয়েট করা হয়েছে, সেটা হচ্ছে nextExam অবজেক্ট। তার মানে হলো, তুই একটা অবজেক্টের ভিতরে আরও অবজেক্ট তৈরি করতে পারবি। একইভাবে আরেকটা প্রপার্টি আছে chapters নামে, সেটার মান একটা অ্যারে অর্থাৎ কোনো প্রপার্টির মান arrayও হতে পারে। 


JavaScript Object Practice: 

  1. তুই teacher নামে একটা অবজেক্ট বানা। এইটার মধ্যে টিচারের নাম থাকবে। উনি কোন সাবজেক্ট পড়ান, সেটার নাম থাকবে; স্যারের বয়স, বাসা কোথায়— এই টাইপের পাঁচটা জিনিস থাকবে। 
  2. গাছ (tree) নামে একটা object তৈরি কর, যার মধ্যে থাকবে, এইটা কী গাছ, উচ্চতা কেমন, বয়স কত, ফলের নাম কী ইত্যাদি।
  3. তোর আশেপাশে কোনো প্রাণী থাকলে (গরু, বিড়াল, কুকুর, ইঁদুর, তেলাপোকা, মশা, মাছি, পিঁপড়া, টিকটিকি, মানুষ বা অন্য কোনো প্রাণী থাকলে), সেটার জন্য একটা অবজেক্ট লিখে ফেল।
  4. তোর আব্বুর জন্য father নামে একটা অবজেক্ট বানিয়ে ফেল। সেখানে উনার নাম, পেশা, বয়স, সন্তানের সংখ্যা ইত্যাদি তথ্য দিয়ে ফেল।
  5. একটা বাইক(motorbike) নিয়ে object বানা। সেখানে ব্রান্ডের নাম, টায়ারের সংখ্যা, রং, সর্বোচ্চ গতি আর দাম থাকবে।
  6. একটি পাখি (bird) অবজেক্ট তৈরি কর, যেখানে পাখির নাম, রং, খাদ্য ইত্যাদি প্রপার্টি থাকবে।
  7. একটা laptop অবজেক্ট তৈরি কর, যেখানে থাকবে ব্রান্ডের নাম, প্রসেসর, র‍্যাম, দাম, আর ডিসপ্লের সাইজ ইত্যাদি ডাটা থাকবে।


Previous ChapterNext Page