JavaScriptで変数付きsetterのようなことはできますか?
JavaScriptではオブジェクトにsetterを用意すれば代入の操作で複雑な処理が行えますが、
var o = {
set current(a) {
console.log(a)
},
};
o.current = 1; //console => 1
同じように代入で処理をしたいのですが、プロパティに変数をつけたようにはできないでしょうか。厳密にsyntaxが以下のようである必要はありませんが、...=...
の形にはしたいです。
o.current(2) = 1; //2*1, console => 2
o.current(4) = 1; //4*1, console => 4
o.current(4) = 2; //4*2, console => 8
変数は文字列ではない予定なのでProxy
のhandler.get(target, propertyName, receiver)
では少し試したのではできなさそうでしたが、よくはわかってないです。