自分のメモ用のWikiに書いてあるJavaScriptのカリー化の説明が単なる部分適用だったり間違いが多いのに気付いたので書き直していたのだけど、その時、ふと汎用的なカリー化処理を実装できないかな?と思って色々試してみたのだが、なかなか上手くいかないのでググってみたらdankogai無双。 404 Blog Not Found:javascript - 弾もcurryを煮込んでみた ストレートにfunctionをネストしたコードを生成して、Functionコンストラクタの引数に渡せばevalも要らないという…。このアプローチにさらっと気付ける辺りが地頭のよさなんだろうなスゲーと思ったよ。 JavaScriptの関数はオブジェクトなんだから、どうせならFunctionのメソッドにしてしまおうぜ Function.prototype.curry = function(){ var fs = t