কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্ট মেথড: Object.assign()

জাভাস্ক্রিপ্টে Object ক্লাসে অনেক মেথড রয়েছে যা অবজেক্ট ম্যানিপুলেট করতে সাহায্য করে। এই আর্টিকেলে Object.assign() মেথড এবং এর ব্যবহার দেখাব।

কিছু ব্যাকগ্রাউন্ড

অবজেক্ট জাভাস্ক্রিপ্টে একটি ডেটা টাইপ (পাইথনের ডিকশনারির মতো) যেটিতে কি-ভ্যালু পেয়ার থাকে। উদাহরণস্বরূপ, একটি অবজেক্ট Harry:

let Harry = { firstName: 'Harry', lastName: 'Potter', age: 11, house: 'Gryffindor', pet: { name: 'Hedwig', animal: 'owl' } };

কোলন (:)-এর বাম পাশে কী (key), ডান পাশে ভ্যালু (value)। pet-এও একটি নেস্টেড অবজেক্ট রয়েছে যাতে আরও কি-ভ্যালু পেয়ার আছে।

Object.assign(target, ...sourceObjs)

assign() মেথড এক বা একাধিক সোর্স অবজেক্টকে একটি টার্গেট অবজেক্টে কপি করতে ব্যবহৃত হয়। কোডে দেখি:

let hpChar = { firstName: 'Harry', lastName: 'Potter', age: 11, house: 'Gryffindor', pet: { name: 'Hedwig', animal: 'owl' } } Object.assign({}, hpChar); console.log(hpChar, '\n'); Object.assign(hpChar, { firstName: 'Hermione', lastName: 'Grainger', pet: { name: 'Crookshanks', animal: 'cat' } } ); console.log(hpChar)

কোড ব্যাখ্যা: hpChar অবজেক্টে firstName, lastName, age, house, pet প্রোপার্টি রয়েছে। pet নেস্টেড অবজেক্ট।

প্রথম Object.assign({}, hpChar) — এখানে টার্গেট হলো খালি অবজেক্ট {}, সোর্স হলো hpChar। এটি এসেনশিয়ালি অবজেক্ট ক্লোন করে। কনসোল আউটপুট:

{ firstName: 'Harry', lastName: 'Potter', age: 11, house: 'Gryffindor', pet: { name: 'Hedwig', animal: 'owl' } }

দ্বিতীয় Object.assign(hpChar, { firstName: 'Hermione', lastName: 'Grainger', pet: { name: 'Crookshanks', animal: 'cat' } }) — এবার টার্গেট হলো hpChar নিজে, সোর্সে নতুন ভ্যালুগুলো। এটি টার্গেট অবজেক্টের প্রোপার্টিগুলো ওভাররাইট করে। কনসোল আউটপুট:

{ firstName: 'Hermione', lastName: 'Grainger', age: 11, house: 'Gryffindor', pet: { name: 'Crookshanks', animal: 'cat' } }

এটি দুইটি একই প্রোপার্টি वाले অবজেক্ট মার্জ করার উদাহরণ। যদি তিনটি ভিন্ন প্রোপার্টি वाले অবজেক্ট মার্জ করি?

var obj1 = { foo: 1 } var obj2 = { bar: 2 } var obj3 = { baz: 3 } Object.assign(obj1, obj2, obj3) console.log(obj1);

obj1 টার্গেট, obj2 এবং obj3 সোর্স। প্রোপার্টি ওভারল্যাপ নেই, তাই সব মের্জ হয়ে যাবে:

{ foo: 1, bar: 2, baz: 3 }

এই ছিল Object.assign()-এর ওয়ার্কিং ইমপ্লিমেন্টেশন। এই কনসেপ্ট বুঝলে জাভাস্ক্রিপ্ট ফ্রেমওয়ার্ক শিখতে এক ধাপে এগিয়ে যাবেন!

আরো শিখতে চান?

এই টিউটোরিয়ালগুলো দেখুন...

  • JavaScript Object.keys()
  • A Step-By-Step Guide to JavaScript Let
  • JavaScript typeof
  • JavaScript String Contains: Step-By-Step Guide
  • JavaScript Variables
  1. জাভাস্ক্রিপ্টে মেথড শেয়ার করা

  2. জাভাস্ক্রিপ্টে RegExp অবজেক্ট

  3. জাভাস্ক্রিপ্টে অবজেক্ট ইলিশিয়ালাইজার

  4. জাভাস্ক্রিপ্টে ক্লাসে স্ট্যাটিক মেথড অ্যাসাইন করা