JavaScript で関数 3

 今回は無名関数についてです。オブジェクトのメソッドとおおいに関係があります。


1 無名関数

 上では関数を定義して処理を記述しているのに対し、下では変数に関数を代入しているのがわかります。

 実際の例を見ていきましょう。

関数

 <script> 以下の1行目及び2行目で、変数 a 変数 b にそれぞれ数値を代入しています。
 次に3行目から5行目において無名関数を定義しています。つまり、引数 x と引数 y とを足すという関数が変数 f に代入されるというものです。

 そして6行目では変数 f の引数として変数 a と変数 b とが指定されることにより、無名関数が呼び出され、結果的に変数 c には計算結果が代入されることになります。

 最後に7行目で変数 c の値を出力しています。

 さて、この関数の定義を変更してみましょう。

関数

 足し算を掛け算に変更してみました。


2 コールバック関数

 無名関数はどういった場面で使われるのでしょうか。
 その前にコールバック関数というものを紹介します。

関数

 ここでは f2( ) がコールバック関数となります。
 <script> 以下の8行目をみると、f1 の引数として f2 が指定されています。
 1行目には f1 が定義されており、変数 a を引数として f1 が実行されることになります。
 すると、変数 a の中身は関数 f2 ですので、f2 に定義された「f2 に記述」が出力されることになるのです。
 その後、f1 に直接記載のある「f1 に記述」が出力されます。

 このようにコールバック関数とは、ほかの関数の引数として利用できるものなのです。


3 無名関数を利用する

 またコールバック関数はメソッドの引数としても利用ができます。
 多くの書籍で紹介されているのは forEach メソッドです。
 このメソッドは、配列の要素を順にコールバック関数の引数として渡すものであり、その前提としてコールバック関数を引数として受け取るというものです。

関数

 まず、配列 w からひとつずつ要素が取り出され、引数 a に「コール」が代入され、処理が実行されます。
 それが配列の要素の数だけ繰り返されることになります。


4 次回

 さて次回はとても重要な考え方である「オブジェクト」を見ていきます。

カテゴリー

更新記事

タグ

break (1) class (3) collection (6) continue (1) CSS (2) DOM (2) for (1) function (3) HTML (8) if (2) JavaScript (28) object (5) pop (1) push (1) shift (1) switch (1) unshift (1) VBA (1) while (2) アンガーマネジメント (1) インソース (1) ココナラ (8) コーチング (1) チーズ (2) ネズミ (2) ノート (2) ブランディング (1) ブランド (1) プログリット (1) ポート (1) メモ (2) リスキリング (1) 変数 (3) 学習 (1) 小人 (2) 怒り (1) 株式 (6) 睡眠 (3) 給水器 (1) 記憶 (3) Aoba-BBT (8) IGS (8) Kラーニング (1)

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

確かな力が身につくJavaScript「超」入門 第2版 [ 狩野 祐東 ]
価格:2,728円(税込、送料無料) (2024/2/16時点)


[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

1冊ですべて身につくJavaScript入門講座 [ Mana ]
価格:2,794円(税込、送料無料) (2024/2/23時点)




Categories: