モナドを理解するために Monads for functional programming の例題にある例外モナドを JavaScript で実装してみたのでメモっとく。 戻るボタンをクリックする前に無心で写経してみてほしい。Web ブラウザーの JavaScript コンソールで試せるようにしてあるので! ちなみに、モナドを理解するために書いたコードなので JavaScript でモナドを実用する上では役に立たないのでご注意を。 前提知識 コードを簡潔に表現するために下記のような言語仕様を活用する。 アロー関数 アロー関数を活用して関数を簡潔に表現する。 var add = (n, m) => n + m; // var add = function(n, m) { // return n + m; // }; // var mul = n => m => n * m; // var m