はじめに
この実験では、JavaScript の「関数の引数の数 (Function Arity)」の概念を探ります。この実験の目的は、関数と数 n
を引数として受け取り、追加の引数は無視して最大 n
個の引数のみを受け取る新しい関数を返す高階関数を作成することです。これにより、JavaScript で関数に渡される引数の数を制限する方法を理解する手助けになります。
This tutorial is from open-source community. Access the source code
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
この実験では、JavaScript の「関数の引数の数 (Function Arity)」の概念を探ります。この実験の目的は、関数と数 n
を引数として受け取り、追加の引数は無視して最大 n
個の引数のみを受け取る新しい関数を返す高階関数を作成することです。これにより、JavaScript で関数に渡される引数の数を制限する方法を理解する手助けになります。
特定の引数の数を受け取り、追加の引数は無視する関数を作成するには、次の手順に従います。
ターミナル/SSH を開き、コーディングを練習するために node
と入力します。
次のコードを使用して関数を作成します。
const ary =
(fn, n) =>
(...args) =>
fn(...args.slice(0, n));
作成した ary
関数に、2 つの引数を渡して呼び出します。引数を制限したい関数 (fn
) と、制限したい引数の数 (n
) です。
これで、任意の関数の引数の数を制限するために新しい関数を使用できます。これを行うには、展開演算子 (...
) と制限したい引数を使って新しい関数を呼び出します。
新しい関数の使用方法の例を以下に示します。
const firstTwoMax = ary(Math.max, 2);
[[2, 6, "a"], [6, 4, 8], [10]].map((x) => firstTwoMax(...x)); // [6, 6, 10]
この例では、firstTwoMax
は Math.max
関数を最初の 2 つの引数のみを受け取るように制限する新しい関数です。map
メソッドは、外側の配列の各配列に新しい関数を適用し、各内側の配列の最初の 2 要素の最大値を返します。
おめでとうございます!関数の引数の数 (Function Arity) の実験を完了しました。技術力を向上させるために、LabEx でさらに実験を行って練習してください。