備忘録
参考
javascript - Pointfree recursion in JS with ramda - Stack Overflow
Ramdaを使っているときに再起呼び出しができなくて困った.
上の記事の例を借用します.
こんなとき
const removeNulls = R.when(R.is(Object),
R.pipe(R.reject(R.isNil),
R.map(removeNulls)));
このように書くと,
ReferenceError: can't access lexical declaration `removeNulls' before initialization
解決策
アロー関数を使えとのこと
const removeNulls = R.when(R.is(Object),
R.pipe(R.reject(R.isNil),
R.map(a => removeNulls(a))));
自分も,なぜエラーが出るのか,なぜアロー関数を使えば解決するのかがわかっていません.
どなたか教えていただけると嬉しいです.