JavaScript における関数の引数の制限

Beginner

This tutorial is from open-source community. Access the source code

はじめに

この実験では、JavaScript の「関数の引数の数 (Function Arity)」の概念を探ります。この実験の目的は、関数と数 n を引数として受け取り、追加の引数は無視して最大 n 個の引数のみを受け取る新しい関数を返す高階関数を作成することです。これにより、JavaScript で関数に渡される引数の数を制限する方法を理解する手助けになります。

これは Guided Lab です。学習と実践を支援するためのステップバイステップの指示を提供します。各ステップを完了し、実践的な経験を積むために、指示に注意深く従ってください。過去のデータによると、この 初級 レベルの実験の完了率は 87%です。学習者から 100% の好評価を得ています。

特定の引数の数を持つ関数を作成する方法

特定の引数の数を受け取り、追加の引数は無視する関数を作成するには、次の手順に従います。

  1. ターミナル/SSH を開き、コーディングを練習するために node と入力します。

  2. 次のコードを使用して関数を作成します。

const ary =
  (fn, n) =>
  (...args) =>
    fn(...args.slice(0, n));
  1. 作成した ary 関数に、2 つの引数を渡して呼び出します。引数を制限したい関数 (fn) と、制限したい引数の数 (n) です。

  2. これで、任意の関数の引数の数を制限するために新しい関数を使用できます。これを行うには、展開演算子 (...) と制限したい引数を使って新しい関数を呼び出します。

新しい関数の使用方法の例を以下に示します。

const firstTwoMax = ary(Math.max, 2);
[[2, 6, "a"], [6, 4, 8], [10]].map((x) => firstTwoMax(...x)); // [6, 6, 10]

この例では、firstTwoMaxMath.max 関数を最初の 2 つの引数のみを受け取るように制限する新しい関数です。map メソッドは、外側の配列の各配列に新しい関数を適用し、各内側の配列の最初の 2 要素の最大値を返します。

まとめ

おめでとうございます!関数の引数の数 (Function Arity) の実験を完了しました。技術力を向上させるために、LabEx でさらに実験を行って練習してください。