পটভূমি
আমার একটি ফাংশন রয়েছে যা কোনও config
বস্তুকে আর্গুমেন্ট হিসাবে গ্রহণ করে । ফাংশনের মধ্যে আমারও default
আপত্তি আছে। এই প্রতিটি বস্তুর মধ্যে এমন বৈশিষ্ট্য রয়েছে যা ফাংশনটির মধ্যে কোডের বাকি অংশের জন্য সেটিংস হিসাবে মূলত কাজ করে। config
অবজেক্টের মধ্যে সমস্ত সেটিংস নির্দিষ্ট করে দেওয়া রোধ করার জন্য , আমি জিকুয়েরির extend
পদ্ধতিটি একটি নতুন অবজেক্ট পূরণ করতে ব্যবহার করি , বস্তুটিতে settings
কোনও ডিফল্ট মান default
যদি সেগুলিতে নির্দিষ্ট না করা থাকে config
:
var config = {key1: value1};
var default = {key1: default1, key2: default2, key 3: default 3};
var settings = $.extend(default, config);
//resulting properties of settings:
settings = {key1: value1, key2: default2, key 3: default 3};
সমস্যা
এটি দুর্দান্ত কাজ করে তবে আমি jQuery এর প্রয়োজন ছাড়াই এই কার্যকারিতাটি পুনরুত্পাদন করতে চাই। প্লেইন ওল জাভাস্ক্রিপ্ট দিয়ে এটি করার জন্য কি সমান মার্জিত (বা কাছাকাছি) অর্থ আছে?
সম্পাদনা করুন: নন-সদৃশ জাস্টিফিকেশন
এই প্রশ্নটি " আমি কীভাবে দুটি জাভাস্ক্রিপ্ট অবজেক্টের সম্পত্তি গতিশীলভাবে মার্জ করতে পারি? " প্রশ্নের সদৃশ নয় । যেখানে এই প্রশ্নটি কেবল একটি পৃথক দুটি বস্তু থেকে সমস্ত কী এবং মানগুলিকে ধারণ করে এমন একটি বস্তু তৈরি করতে চায় - আমি বিশেষভাবে উভয় বস্তুতে কিছু কী ভাগ না করে সমস্ত কী ভাগ করে দেয় এবং কোন বস্তুটি প্রাধান্য পাবে এমন পরিস্থিতিতে কীভাবে এটি করতে হবে তা সম্বোধন করতে চাই ( ডিফল্ট) ইভেন্টটিতে ফলাফলটির জন্য সেখানে সদৃশ কী রয়েছে। এবং আরও সুনির্দিষ্টভাবে, আমি এটি অর্জনের জন্য jQuery এর পদ্ধতির ব্যবহারকে সম্বোধন করতে চেয়েছিলাম এবং jQuery ছাড়াই এটির বিকল্প উপায় খুঁজতে চাই। উভয় প্রশ্নের উত্তর অনেকগুলি ওভারল্যাপ করার সময়, এর অর্থ এই নয় যে প্রশ্নগুলি নিজেরাই একই are