JavaScript の高階関数を理解する
ホームページホームページ > ニュース > JavaScript の高階関数を理解する

JavaScript の高階関数を理解する

Aug 17, 2023

JavaScript 関数の柔軟性と、それを使用して柔軟で再利用可能なコードを作成する方法を学びます。

JavaScript は、ほとんどの最新ブラウザでサポートされている強力な言語であり、初心者にとっては最適な言語です。

他の多くの最新プログラミング言語と同様に、JavaScript はコードのブロックを分離して別の場所で再利用できる機能をサポートしています。 変数への代入関数を使用し、他の値と同様にパラメータとして渡すこともできます。

高階関数の最も単純な定義は、他の関数をパラメーターとして受け取るか返すことによって、他の関数に対する操作を実行する関数です。 高階関数は関数型プログラミング パラダイムで頻繁に使用されます。 JavaScript を始めたばかりの場合、高階関数を理解するのは少し難しいかもしれません。

次の例を考えてみましょう。

上記のコード ブロックでは、変身関数は、ふん関数をパラメータとして受け取り、以下を受け取る匿名関数を返します。配列パラメータとして。

の目的変身関数は配列内の要素を変更することです。 まず、コードで変数を定義します。結果配列そしてそれを空の配列にバインドします。

変身function は、各要素をループする匿名関数を返します。配列、要素をに渡します。ふん計算用の関数を使用し、結果を結果配列 。 ループの完了後、無名関数は結果配列

上記のコード ブロックは、変身関数を定数変数に変換する機能1ふんの積を返しますバツの代替品です配列[i]

このコードはまた、配列をパラメータとして渡します。機能1そして結果をコンソールに記録します。 これを短く書くと次のようになります。

JavaScript には、基本的に以下と同じことを行う高階関数が組み込まれています。変身、これについては後で説明します。

JavaScript の高階関数がどのように機能するかを理解し始めていることを願っています。 次の関数を見て、それが何をするのか推測できるかどうかを確認してください。

このコード ブロックは、皆さんが疑うかもしれないことを実行する関数を定義しています。この関数は、配列内の要素が特定の条件を満たすかどうかを確認し、それらを次の関数で変換します。変身()関数。 この関数を使用するには、次のようなことを行います。

とは異なり、変身関数、フィルターと変換function は 2 つの関数をパラメータとして受け取ります。ふんそして状態 。 の状態この関数は、渡されたパラメータが偶数であるかどうかを確認し、true を返します。 それ以外の場合は false を返します。

もし状態true (条件が満たされた) に解決され、その場合のみ、変身呼び出される関数。 このロジックは、配列を操作していて特定の要素を変換する場合に便利です。 このコードをブラウザ コンソールで実行すると、次の応答が返されるはずです。

この関数は、特定の条件を満たす要素のみを変換し、条件を満たさない要素はそのまま残すことがわかります。

map() のような配列メソッドは、配列の操作を容易にする高階関数です。 仕組みは次のとおりです。

ログするとき変換された配列ブラウザコンソールでも、次のコマンドで得たのと同じ結果が得られるはずです。変身前述した関数:

配列.map()は 2 つのパラメータを受け取ります。最初のパラメータは要素自体を参照し、2 番目のパラメータは要素のインデックス (配列内の位置) を参照します。 だけで