はじめに
この実験では、JavaScript において可変長関数を配列関数に変換する概念を探ります。クロージャとスプレッド演算子を使って、引数の配列を関数の入力にマッピングします。この実験が終わると、個々の引数ではなく引数の配列を受け取る再利用可能な関数を作成できるようになります。
可変長関数の変換
可変長関数を変換するには、次の手順に従います。
- ターミナル/SSH を開き、コーディングを開始するために
nodeと入力します。 - 可変長関数を受け取る関数を作成します。
- クロージャとスプレッド演算子 (
...) を使って、引数の配列を関数の入力にマッピングします。 - 引数の配列を受け取り、それらの引数で元の可変長関数を呼び出す新しい関数を返します。
この手法を使って Math.max 関数を変換する方法の例を次に示します。
const spreadOver = (fn) => (argsArr) => fn(...argsArr);
const arrayMax = spreadOver(Math.max);
arrayMax([1, 2, 3]); // 3
まとめ
おめでとうございます!可変長関数からの関数変換の実験を完了しました。技術力を向上させるために、LabEx でさらに多くの実験を行って練習してください。