ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript でのカリー化をマスターする: コードの再利用性と柔軟性を強化する
カリング は、JavaScript で使用される関数プログラミング手法であり、複数の引数を取る関数が、それぞれが 1 つの引数を受け入れる一連の関数に変換されます。これにより、引数を部分的に適用できるようになり、関数をより柔軟に操作できるようになります。
カリー化とは、複数の引数を取る関数を、それぞれが 1 つの引数を取る一連の関数に変換するプロセスです。最初の関数は最初の引数を受け取り、2 番目の引数を取る新しい関数を返し、というようにすべての引数が指定されるまで続きます。
カリー化の基本的な例は次のように説明できます。
function add(a) { return function(b) { return a + b; }; } const addFive = add(5); // The first function is called with 5 console.log(addFive(3)); // Output: 8 (5 + 3)
上記の例では:
カリー化は、複数の引数を取る関数があり、それをより小さく再利用可能な部分に分割したい場合に最も役立ちます。複数の引数を使用したカリー化の例を次に示します:
function multiply(a) { return function(b) { return function(c) { return a * b * c; }; }; } const multiplyBy2 = multiply(2); // First argument is fixed as 2 const multiplyBy2And3 = multiplyBy2(3); // Second argument is fixed as 3 console.log(multiplyBy2And3(4)); // Output: 24 (2 * 3 * 4)
この場合:
いくつかの引数を受け取り、それらの引数を蓄積する関数を返す関数を作成することで、カリー化を手動で実装できます。
function curry(fn) { return function curried(...args) { if (args.length >= fn.length) { return fn(...args); } else { return function(...newArgs) { return curried(...args, ...newArgs); }; } }; } // Example function function sum(a, b, c) { return a + b + c; } const curriedSum = curry(sum); console.log(curriedSum(1)(2)(3)); // Output: 6
上記の例では:
カリー化により、より再利用可能で構成可能な関数を作成できます。一部のシナリオではコードが簡素化され、共通の引数を共有する関数の操作が容易になります。
部分的な関数の適用: カリー化により、関数の部分的な適用が可能になります。つまり、一部の引数を固定し、他の引数を後で提供することにより、特殊な関数を作成できます。
関数の構成: コードを繰り返すことなく、カリー化された関数を組み合わせて、より複雑な操作を構築できます。
可読性の向上: カリー化により、関数に必要な引数が明確になり、よりクリーンで簡潔なコードが可能になります。
function add(a) { return function(b) { return a + b; }; } const addFive = add(5); // The first function is called with 5 console.log(addFive(3)); // Output: 8 (5 + 3)
ここで、multiplyBy10 は、最初の引数が 10 に固定されている特殊な関数です。これは複数の場所で再利用できます。
共通のパラメータを使用して一連の API リクエストを作成しているとします。カリー化を使用すると、このプロセスを簡素化できます。
function multiply(a) { return function(b) { return function(c) { return a * b * c; }; }; } const multiplyBy2 = multiply(2); // First argument is fixed as 2 const multiplyBy2And3 = multiplyBy2(3); // Second argument is fixed as 3 console.log(multiplyBy2And3(4)); // Output: 24 (2 * 3 * 4)
カリー化は関数を一連の単項関数に変換しますが、部分適用は関数の一部の引数を固定し、残りの引数を受け入れる新しい関数を返すプロセスです。カリー化は、部分的な適用を実現する 1 つの方法です。
function curry(fn) { return function curried(...args) { if (args.length >= fn.length) { return fn(...args); } else { return function(...newArgs) { return curried(...args, ...newArgs); }; } }; } // Example function function sum(a, b, c) { return a + b + c; } const curriedSum = curry(sum); console.log(curriedSum(1)(2)(3)); // Output: 6
ここでは、bind() を使用して、greet 関数に「Hello」を部分的に適用しています。
こんにちは、アバイ・シン・カタヤットです!
私はフロントエンドとバックエンドの両方のテクノロジーの専門知識を持つフルスタック開発者です。私はさまざまなプログラミング言語やフレームワークを使用して、効率的でスケーラブルでユーザーフレンドリーなアプリケーションを構築しています。
ビジネス用メールアドレス kaashshorts28@gmail.com までお気軽にご連絡ください。
以上がJavaScript でのカリー化をマスターする: コードの再利用性と柔軟性を強化するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。