Javascript で 括弧 が二重になっている構文
わからないこと
下のような構文を見つけたんですが、("hoge")(some_func) 部分で動くのは分かるんですが、意味が分かりません。
なんとなく、「args =>」部分の args に 2つ目の関数が代入されているのは分かるんですが、その根拠が分かりません。
function hoge(str) {
return args => args(str)
}
function some_func(str){
console.log(str)
}
hoge("hoge")(some_func)
関連するドキュメントはどこにあるんでしょうか?
また、どのような時にこのような書き方をするんでしょうか?
ご教授お願いします。
1