会社でNeverThrowというライブラリを使っています。 とても便利なので、とても便利だよ〜という記事を書きます。 NeverThrowとは? NeverThrowは、TypeScriptで「Result型」を実現できるライブラリです。 Result型とは? Result型は、関数の中でエラーをthrowする代わりに、エラーを戻り値として返すようにすればいいじゃね?な仕組みのことをいいます。 もっと噛み砕いて説明します。 たとえば「50%の確率で足し算してくれるけど、50%の確率で💩をthrowする」という関数があるとします。 コードで表すと👇になります。 function add(a: number, b: number) { if (Math.random() >= 0.5) { throw new Error('💩'); } return a + b; }