関数型プログラミング サンク(thunk)とは
サンク(thunk)とは引数がない関数で値をラッピングしたものです。
const hoge => (_) => {
return 1;
}
JavaScriptでは関数の引数に関数を渡すことができるので、上記のサンクを引数として渡すことができる。
これによって遅延評価を実現できる。
const hoge = (_) => 1;
const lazyFunc = (flag, funcX) => {
if(flag) return funcX();
return 0;
};
lazyFunc(false, hoge); //hogeは実行されない
lazyFunc(true, hoge); //hogeは実行される
最近のコメント