複数の引数を持つJavaScript関数を作成するとき、常にこの選択に直面します。引数のリストを渡すか、オプションオブジェクトを渡すかです。
たとえば、nodeListを配列にマップする関数を書いています。
function map(nodeList, callback, thisObject, fromIndex, toIndex){
...
}
代わりにこれを使用できます:
function map(options){
...
}
ここで、optionsはオブジェクトです。
options={
nodeList:...,
callback:...,
thisObject:...,
fromIndex:...,
toIndex:...
}
どちらがお勧めの方法ですか?どちらを使用するかについてのガイドラインはありますか?
[更新] optionsオブジェクトを支持するコンセンサスがあるようですので、コメントを追加したいと思います。私の場合に引数のリストを使用したくなった1つの理由は、JavaScriptと一貫した動作をすることでした組み込みのarray.mapメソッド。
Array.prototype.map
半経験のあるコーダーを困惑させてはならない単純なAPIがあります。