Lors de la création d'une fonction JavaScript avec plusieurs arguments, je suis toujours confronté à ce choix: passer une liste d'arguments vs passer un objet d'options.
Par exemple, j'écris une fonction pour mapper une nodeList à un tableau:
function map(nodeList, callback, thisObject, fromIndex, toIndex){
...
}
Je pourrais plutôt utiliser ceci:
function map(options){
...
}
où options est un objet:
options={
nodeList:...,
callback:...,
thisObject:...,
fromIndex:...,
toIndex:...
}
Quelle est la méthode recommandée? Existe-t-il des directives pour savoir quand utiliser l'un ou l'autre?
[Mise à jour] Il semble y avoir un consensus en faveur de l'objet options, donc j'aimerais ajouter un commentaire: une des raisons pour lesquelles j'ai été tenté d'utiliser la liste d'arguments dans mon cas était d'avoir un comportement cohérent avec le JavaScript intégrée à la méthode array.map.
Array.prototype.map
a une API simple qui ne devrait laisser perplexe aucun codeur semi-expérimenté.