はじめに
この実験では、JavaScript におけるカリングの概念を探求します。カリングは、複数の引数を取る関数を、それぞれが単一の引数を取る関数のシーケンスに変換する技術です。この実験を通じて、カリングがどのように機能するか、および JavaScript コードでどのように適用できるかについて、より深い理解を得ることができます。
これは Guided Lab です。学習と実践を支援するためのステップバイステップの指示を提供します。各ステップを完了し、実践的な経験を積むために、指示に注意深く従ってください。過去のデータによると、この 初級 レベルの実験の完了率は 100%です。学習者から 100% の好評価を得ています。
関数のカリング
関数をカリングするには、次の手順に従います。
- ターミナル/SSH を開き、コーディングの練習を始めるために
nodeと入力します。 - 再帰を使用します。
- 提供された引数 (
args) の数が十分であるかどうかを確認します。 - そうであれば、渡された関数
fnを呼び出します。 - そうでなければ、
Function.prototype.bind()を使用して、残りの引数を期待するカリングされた関数fnを返します。 - 可変個の引数を受け取る関数(可変長関数、たとえば
Math.min())をカリングしたい場合は、任意で引数の数を第 2 引数arityに渡すことができます。 - 次のコードを使用します。
const curry = (fn, arity = fn.length, ...args) =>
arity <= args.length ? fn(...args) : curry.bind(null, fn, arity, ...args);
以下はいくつかの例です。
curry(Math.pow)(2)(10); // 1024
curry(Math.min, 3)(10)(50)(2); // 2
まとめ
おめでとうございます!あなたはカリー関数の実験を完了しました。あなたの技術を向上させるために、LabEx でさらに多くの実験を行うことができます。