ハッシュとして表される引数を関数に適用したいと思います。
たとえば、次の関数を呼び出したいと思います。
myFunc = function(a,b,c) { return b }
これに似た方法で:
myFunc({a:1, b:2, c:3})
JavaScriptでこれを行う方法はありますか?
ハッシュとして表される引数を関数に適用したいと思います。
たとえば、次の関数を呼び出したいと思います。
myFunc = function(a,b,c) { return b }
これに似た方法で:
myFunc({a:1, b:2, c:3})
JavaScriptでこれを行う方法はありますか?
一般に、関数内の位置引数をオブジェクト内のキーと値のペアに関連付けることはできません。
両方の方法で引数を取るように関数を構成することが可能です:
myFunc = function (objOrA, b, c) {
var a = objOrA;
if (objOrA.a || objOrA.b || objOrA.c) {
a = objOrA.a;
b || (b = objOrA.b);
c || (c = objOrA.c);
}
return b;
};
ただし、関数定義を制御できる場合、最も簡単な解決策は、何があってもオブジェクトを唯一のパラメーターとして要求することです。
myFunc = function (options) {
return options.b;
}