Quando creo una funzione JavaScript con più argomenti, mi trovo sempre di fronte a questa scelta: passare un elenco di argomenti e passare un oggetto opzioni.
Ad esempio, sto scrivendo una funzione per mappare un nodeList a un array:
function map(nodeList, callback, thisObject, fromIndex, toIndex){
...
}
Potrei invece usare questo:
function map(options){
...
}
dove options è un oggetto:
options={
nodeList:...,
callback:...,
thisObject:...,
fromIndex:...,
toIndex:...
}
Qual è il modo raccomandato? Ci sono linee guida per quando usare l'una rispetto all'altra?
[Aggiornamento] Sembra esserci un consenso a favore dell'oggetto opzioni, quindi vorrei aggiungere un commento: uno dei motivi per cui sono stato tentato di utilizzare l'elenco degli argomenti nel mio caso è stato quello di avere un comportamento coerente con JavaScript metodo array.map integrato.
Array.prototype.map
ha una semplice API che non deve lasciare perplessi i programmatori semi esperti.