Douglas Crockfordの著書「Javascript:The Good Parts」で、彼は新しいオブジェクトに値を渡す際のオブジェクト指定子について言及しています。基本的に、パラメーターを特定の順序で関数に渡す代わりに、次のように、パラメーターが含まれているオブジェクトを渡すことを提案します。
var myObject = someFunction({a: 1, b: 2, c: 3});
ただし、説明されていないのは、これらのパラメーターが渡された後の処理方法です。デフォルト値を設定するために以下を行う代わりに:
function someFunction(params){
this.a = params.a || 0;
this.b = params.b || 0;
...
}
冗長にならずに大量のパラメータを処理する別の方法は何ですか?
編集:以下の回答を見ると、for-inループの使用は素晴らしいオプションです。プロパティごとに異なるデフォルト値を設定しながら、それを行う別の方法は何ですか?さまざまなデフォルト値でオブジェクトを作成し、それと比較する方法はありますか?