Ramdaで再起呼び出しができない
Ramdaで再起呼び出しができない:
忘備録
参考
javascript - Pointfree recursion in JS with ramda - Stack Overflow
Ramdaを使っているときに再起呼び出しができなくて困った.
上の記事の例を借用します.
このように書くと,
アロー関数を使えとのこと
自分も,なぜエラーが出るのか,なぜアロー関数を使えば解決するのかがわかっていません.
忘備録
参考
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
意訳
removeNulls? そんな関数わい知らんわ.自分ちゃんとそれ宣言したんか?
解決策
アロー関数を使えとのことconst removeNulls = R.when(R.is(Object), R.pipe(R.reject(R.isNil), R.map(a => removeNulls(a))));
自分も,なぜエラーが出るのか,なぜアロー関数を使えば解決するのかがわかっていません.
どなたか教えていただけると嬉しいです.
コメント
コメントを投稿