Створюючи функцію JavaScript з декількома аргументами, я завжди стикаюся з цим вибором: передайте список аргументів проти передачі об'єкта параметрів.
Наприклад, я пишу функцію для зіставлення nodeList масиву:
function map(nodeList, callback, thisObject, fromIndex, toIndex){
...
}
Я можу замість цього використати:
function map(options){
...
}
де параметри є об’єктом:
options={
nodeList:...,
callback:...,
thisObject:...,
fromIndex:...,
toIndex:...
}
Який із них рекомендований спосіб? Чи є вказівки щодо використання одного проти іншого?
[Оновлення] Здається, що існує консенсус на користь об’єкта параметрів, тому я хотів би додати коментар: одна з причин, чому я спокусився використовувати список аргументів у моєму випадку, - це поведінка, що відповідає JavaScript вбудований метод array.map.
Array.prototype.map
має простий API, який не повинен залишати жодного напівдосвідченого кодера спантеличеним.