JavaScript で AOP を考える

JavaScriptのように関数をオブジェクトとして扱える言語であれば、AOP は比較的簡単に実現できそうだと常々思っていた。
とはいえ、思いつく方法は、単純に対象の関数をその関数を内部で呼び出すような関数で上書きする方法だ。
そこで、Java における AOP フレームワークのように、「外部ファイルで登録した関数について、その呼び出しの前後などで、指定した処理を実行する」といった枠組みを考える。
(例えば、以前作成した性能計測機能を呼び出す処理を、計測対象の関数を外部ファイルに記述することで、対象の実行前、実行後に呼び出されるようにしたい。)

今日のところは前調査まで。

前調査

既存の実装がないかを簡単にGoogleで調べてみたところ、下記が見つかった。