ES6 の記法を使うと、高階関数がこんな風にかける。
var f = a => b => c => {a[b] = c}
で、こんな風に呼び出す。
> var obj = {x: 1, y: 2}
undefined
> obj
{ x: 1, y: 2 }
> f(obj)("x")(100)
undefined
> obj
{ x: 100, y: 2 }
途中に非同期関数をかますこともできる。
var f = a => b => async c => {a[b] = await someAsyncFun(c)}
同じことは古い JavaScript と Promise を使ってもかけるけど、シンタックスシュガーのおかげでカリー化が捗る。