関数を可変長関数に変換する

JavaScriptJavaScriptBeginner
今すぐ練習

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

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

はじめに

この実験では、JavaScriptを使って配列を受け取る関数を可変長関数に変換する方法を探ります。これは、配列を受け取る関数にすべての入力を収集するクロージャを作成することで達成されます。実験が終了するまでに、JavaScriptの関数をどのように操作するかを理解し、それらをより多用途で様々な使用ケースに適応可能にする方法を学ぶことができます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript(("JavaScript")) -.-> javascript/ToolsandEnvironmentGroup(["Tools and Environment"]) 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/async_prog("Asynchronous Programming") javascript/AdvancedConceptsGroup -.-> javascript/spread_rest("Spread and Rest Operators") javascript/ToolsandEnvironmentGroup -.-> javascript/debugging("Debugging") subgraph Lab Skills javascript/variables -.-> lab-28214{{"関数を可変長関数に変換する"}} javascript/data_types -.-> lab-28214{{"関数を可変長関数に変換する"}} javascript/arith_ops -.-> lab-28214{{"関数を可変長関数に変換する"}} javascript/comp_ops -.-> lab-28214{{"関数を可変長関数に変換する"}} javascript/async_prog -.-> lab-28214{{"関数を可変長関数に変換する"}} javascript/spread_rest -.-> lab-28214{{"関数を可変長関数に変換する"}} javascript/debugging -.-> lab-28214{{"関数を可変長関数に変換する"}} end

関数を可変長関数に変換する

配列を受け取る関数を可変長関数に変換するには、次の手順に従うことができます。

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

  2. すべての入力を配列を受け取る関数に収集するクロージャを返します。

const collectInto =
  (fn) =>
  (...args) =>
    fn(args);
  1. collectInto 関数を使って関数を可変長関数に変換します。
const Pall = collectInto(Promise.all.bind(Promise));
let p1 = Promise.resolve(1);
let p2 = Promise.resolve(2);
let p3 = new Promise((resolve) => setTimeout(resolve, 2000, 3));
Pall(p1, p2, p3).then(console.log); // [1, 2, 3] (約2秒後)

これにより、関数で任意の数の引数を受け取り、それらを配列に収集してさらに処理することができます。

まとめ

おめでとうございます! あなたは関数を可変長関数に変換する実験を完了しました。あなたのスキルを向上させるために、LabExでさらに実験を行って練習することができます。