可変長関数からの関数変換

JavaScriptJavaScriptBeginner
今すぐ練習

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

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、JavaScript において可変長関数を配列関数に変換する概念を探ります。クロージャとスプレッド演算子を使って、引数の配列を関数の入力にマッピングします。この実験が終わると、個々の引数ではなく引数の配列を受け取る再利用可能な関数を作成できるようになります。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/AdvancedConceptsGroup -.-> javascript/spread_rest("Spread and Rest Operators") subgraph Lab Skills javascript/variables -.-> lab-28213{{"可変長関数からの関数変換"}} javascript/data_types -.-> lab-28213{{"可変長関数からの関数変換"}} javascript/arith_ops -.-> lab-28213{{"可変長関数からの関数変換"}} javascript/comp_ops -.-> lab-28213{{"可変長関数からの関数変換"}} javascript/spread_rest -.-> lab-28213{{"可変長関数からの関数変換"}} end

可変長関数の変換

可変長関数を変換するには、次の手順に従います。

  1. ターミナル/SSH を開き、コーディングを開始するために node と入力します。
  2. 可変長関数を受け取る関数を作成します。
  3. クロージャとスプレッド演算子 (...) を使って、引数の配列を関数の入力にマッピングします。
  4. 引数の配列を受け取り、それらの引数で元の可変長関数を呼び出す新しい関数を返します。

この手法を使って Math.max 関数を変換する方法の例を次に示します。

const spreadOver = (fn) => (argsArr) => fn(...argsArr);

const arrayMax = spreadOver(Math.max);
arrayMax([1, 2, 3]); // 3

まとめ

おめでとうございます!可変長関数からの関数変換の実験を完了しました。技術力を向上させるために、LabExでさらに多くの実験を行って練習してください。