একাধিক আর্গুমেন্ট সহ একটি জাভাস্ক্রিপ্ট ফাংশন তৈরি করার সময়, আমি সবসময় এই পছন্দটির সাথে মুখোমুখি হয়ে থাকি: যুক্তিগুলির একটি তালিকা পাস করে বনাম একটি বিকল্প বস্তু পাস করুন।
উদাহরণস্বরূপ আমি একটি অ্যারে নোডলিস্টে মানচিত্র করতে একটি ফাংশন লিখছি:
function map(nodeList, callback, thisObject, fromIndex, toIndex){
...
}
আমি পরিবর্তে এটি ব্যবহার করতে পারি:
function map(options){
...
}
যেখানে বিকল্পগুলি একটি বস্তু:
options={
nodeList:...,
callback:...,
thisObject:...,
fromIndex:...,
toIndex:...
}
কোনটি প্রস্তাবিত উপায়? যখন কোনও বনাম অন্যটি ব্যবহার করার জন্য কোনও গাইডলাইন রয়েছে?
[আপডেট] বিকল্প বিকল্পের পক্ষে inক্যমত্য বলে মনে হচ্ছে, তাই আমি একটি মন্তব্য যুক্ত করতে চাই: আমার ক্ষেত্রে যুক্তিগুলির তালিকাটি ব্যবহার করতে প্ররোচিত হওয়ার একটি কারণ ছিল জাভাস্ক্রিপ্টের সাথে সামঞ্জস্যপূর্ণ আচরণ করা was অ্যারে.ম্যাপ পদ্ধতিতে নির্মিত।
Array.prototype.map
একটি সাধারণ এপিআই রয়েছে যা কোনও আধা-অভিজ্ঞ কোডারকে ঝাঁকুনিতে ফেলে রাখা উচিত নয়।