サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ブックレビュー
qiita.com/culage
val = n => cont => cont(n); add = n1 => n2 => cont => cont(n1 + n2); (val)(2)(add)(3)(console.log); 初見では完全に魔術に見えるが、このコードは意図した通りコンソールに 5 を出力する。 一体なぜこのような動きが実現できるのだろうか? ■説明 この魔術は「継続渡しスタイル (CPS: Continuation-passing style)」という概念をもとに実現されている。 ステップ・バイ・ステップで理解していこう。 step1 継続渡しスタイルでは「この処理の後で実行する内容」を引数に渡して実行する。 渡された数に+1した後でコンソール出力を実行する、単純な例を見てみよう。 function inc(n, callback) { const result = n + 1; callback(
このページを最初にブックマークしてみませんか?
『qiita.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く