ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript での高階関数とカリー化

JavaScript での高階関数とカリー化

WBOY
WBOY転載
2023-09-04 17:57:07766ブラウズ

JavaScript 中的高阶函数和柯里化

関数は、どのプログラミング言語でも非常に便利な機能です。開発者は、この関数を含まないプログラミング言語を見つけることができるかもしれません。さらに、プログラミング言語を学習し始めるときは、必ず関数、つまりコードの再利用性を提供するコードのブロックについて学習します。

このチュートリアルでは、高階関数とカリー化について学びます。

高階関数

JavaScript でカリー化を始める前に、まず 高階 関数を理解しましょう。

高階関数の簡単な定義は、別の関数をパラメータとして受け取るか、関数を返す関数です。 JavaScript や C や Python などの他のプログラミング言語で sort() メソッドを使用したことがありますか?その場合は、特定のコンテキストに基づいて配列を並べ替えるために、コールバック関数を引数として sort() メソッドに渡している可能性があります。

したがって、sort() メソッドは高階関数であると言えます。

###文法###

ユーザーは、次の構文に従って高階関数を使用できます。

リーリー

上記の構文では、

sortArray()

関数をパラメーターとして渡しているため、sort() は高階関数です。 ###例### 以下の例では、さまざまな値を含む数値の配列を作成します。その後、

filter()

メソッドを使用して、配列内の 2 で割り切れるすべての要素をフィルターで除外します。

ユーザーは、filter_func() 関数をパラメータとして

filter()

メソッドに渡していることがわかります。したがって、filter() メソッドは高階関数であると言えます。 リーリー ###例### この例では、文字列の配列を作成します。その後、map() メソッドを使用して、すべての配列値の最初の文字を大文字にします。コールバック アロー関数を引数として map メソッドに渡します。この関数は、最初の文字が大文字になった後の文字列を返します。

substr()

メソッドと toUpperCase() メソッドを使用して、各配列文字列の最初の文字を大文字にします。

リーリー

これで、ユーザーは高階関数を使用する利点を知ることができます。たとえば、filter() メソッドは JavaScript の Array ライブラリに実装されており、ユーザーはカスタム コールバック関数をパラメータとして渡すことでフィルタ ロジックをオーバーライドできます。 JavaScript でのカリング

カリー化は高階関数に似ており、関数を返します。カリー関数は複数のパラメーターを受け入れ、ユーザーはパラメーター値をネストされた関数に渡すことができます。 カリー化された関数の最後のネストされた関数は、最終出力を返します。

###文法###

ユーザーは、次の構文に従ってカリー化された関数を作成できます。

リーリー

この関数は、上記の構文の

addition()

関数から返されます。さらに、ユーザーは複数の引数を渡して

addition()

関数を呼び出す方法を観察することもできます。

###例###

以下の例では、

addition()

という名前のカリー化された関数を作成します。加算関数のパラメータは 1 つだけです。また、単一の引数を取る入れ子関数も返します。ネストされた関数は、num1num2 引数の合計を返します。

リーリー

ユーザーは、このチュートリアルで

高階

関数とカリー関数について学習しました。 高次 関数と currying 関数には多くの用途があり、その一部を 3 つの例で見てきました。

以上がJavaScript での高階関数とカリー化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。