今回は無名関数についてです。オブジェクトのメソッドとおおいに関係があります。
1 無名関数
関数の書式
function 関数の名前(引数){ 処理 return 戻り値; }
無名関数の書式
const 変数の名前 = function(引数){
関数の処理
}
上では関数を定義して処理を記述しているのに対し、下では変数に関数を代入しているのがわかります。
実際の例を見ていきましょう。
HTML(一部)
<script>
let a = 5;
let b = 4;
const f = function(x, y){
return x + y;
}
let c = f(a, b);
document.write("<p>" + c + "</p>");
</script>
ブラウザ
<script> 以下の1行目及び2行目で、変数 a 変数 b にそれぞれ数値を代入しています。
次に3行目から5行目において無名関数を定義しています。つまり、引数 x と引数 y とを足すという関数が変数 f に代入されるというものです。
そして6行目では変数 f の引数として変数 a と変数 b とが指定されることにより、無名関数が呼び出され、結果的に変数 c には計算結果が代入されることになります。
最後に7行目で変数 c の値を出力しています。
さて、この関数の定義を変更してみましょう。
HTML(一部)
<script>
let a = 5;
let b = 4;
const f = function(x, y){
return x * y;
}
let c = f(a, b);
document.write("<p>" + c + "</p>");
</script>
ブラウザ
足し算を掛け算に変更してみました。
2 コールバック関数
無名関数はどういった場面で使われるのでしょうか。
その前にコールバック関数というものを紹介します。
HTML(一部)
<script>
function f1(a) {
a();
document.write("<p>f1に記述</p>");
}
function f2() {
document.write("<p>f2に記述</p>");
}
f1(f2);
</script>
ブラウザ
ここでは f2( ) がコールバック関数となります。
<script> 以下の8行目をみると、f1 の引数として f2 が指定されています。
1行目には f1 が定義されており、変数 a を引数として f1 が実行されることになります。
すると、変数 a の中身は関数 f2 ですので、f2 に定義された「f2 に記述」が出力されることになるのです。
その後、f1 に直接記載のある「f1 に記述」が出力されます。
このようにコールバック関数とは、ほかの関数の引数として利用できるものなのです。
3 無名関数を利用する
またコールバック関数はメソッドの引数としても利用ができます。
多くの書籍で紹介されているのは forEach メソッドです。
このメソッドは、配列の要素を順にコールバック関数の引数として渡すものであり、その前提としてコールバック関数を引数として受け取るというものです。
書式
配列.forEach(コールバック関数の処理)
HTML(一部)
<ul>
<script>
let w = ["コール","バック","関数"]
w.forEach(function(a){
document.write("<li>" + a + "</li>");
});
</script>
</ul>
ブラウザ
まず、配列 w からひとつずつ要素が取り出され、引数 a に「コール」が代入され、処理が実行されます。
それが配列の要素の数だけ繰り返されることになります。
4 次回
さて次回はとても重要な考え方である「オブジェクト」を見ていきます。
カテゴリー
更新記事
- テーマ株投資(1年2か月)
- 「コンビニ」記事を読む3(ジョブ型)
- 「コンビニ」記事を読む2(EC)
- 「コンビニ」記事を読む1(お手頃)
- 『日本経済新聞』を読む30(LiDAR、木造ビル、客室単価、オリーブ、オルカン)
- 『日本経済新聞』を読む29(フェノール、自動運転、合成燃料、上履き、予備費)
- テーマ株投資(12か月)
- 『ウォール街のランダム・ウォーカー<原著第13版>』を読む 第4部
- 『ウォール街のランダム・ウォーカー<原著第13版>』を読む 第3部
- 『ウォール街のランダム・ウォーカー<原著第13版>』を読む 第2部
- 『ウォール街のランダム・ウォーカー<原著第13版>』を読む 第1部
- 『日本経済新聞』を読む28(しそ、SOX指数、体験型、オリーブ、クラフトビール)
- 『日本経済新聞』を読む27(ATM、Z世代、SSD、イチゴ、稲わら)
- 『日本経済新聞』を読む26(イワシ、合成ダイヤモンド、陸上養殖、希望退職、タコ)
- 『日本経済新聞』を読む25(モルドバ、スマートロック、バリ、二重価格、ニッチ)
- 『日本経済新聞』を読む24(FTS、焼酎、化粧水、防災ビジネス、一太郎)
- 『日本経済新聞』を読む23(人工芝、睡眠市場、東海道新幹線、地雷、酸化ガリウム)
- 『日本経済新聞』を読む22(ポータブル電源、ズワイガニ、モルディブ、リチウム、ロブスター)
- 『日本経済新聞』を読む21(高速船、駄菓子、レンタル自習室、PFAS、戻りガツオ)
- 『日本経済新聞』を読む20(書店、コネクテッドカー、アゼルバイジャン、アルメニア、服薬)
- 『日本経済新聞』を読む 19(アボカド、飼料、ビレット、電動キックボード、フレア)
- テーマ株投資(9か月)
- 『日本経済新聞』を読む 18(背徳、デフリ、シアヌークビル港、デジタルノマド、企業博物館)
- 『日本経済新聞』を読む 17(在庫、字幕、梅田、エクセル職人、耐震シェルター)
- 『日本経済新聞』を読む 16(初任給、ウイスキー、スリランカ、クジラ肉、宇宙ごみ)
- 『日本経済新聞』を読む 15(配当貴族、スマートウォッチ、底引き網、ねこ住宅、電池の冷却)
- 『日本経済新聞』を読む 14(サービス収支、つながらない、租税回避地、電池寿命、置き社食)
- 『日本経済新聞』を読む 13(鉄鉱石、内需株、画像診断、ハブ空港、LCC)
- 『日本経済新聞』を読む 12(アンチモニー、おもちゃショー、スタートアップ、燃料電池、送電)
- 『日本経済新聞』を読む 11(にがり、おせち、ダチョウ、災害ドローン、ビジネスホテル)
タグ
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) ことば (30) アンガーマネジメント (1) インソース (1) ココナラ (14) コンビニ (3) コーチング (1) チーズ (2) ネズミ (2) ノート (2) パーソルホールディングス (6) ブランディング (1) ブランド (1) プログリット (1) ポート (1) メモ (2) リスキリング (1) リンクアンドモチベーション (5) 分散投資 (4) 変数 (3) 学習 (1) 小人 (2) 怒り (1) 新聞 (2) 株式 (32) 株式投資 (4) 用語 (21) 睡眠 (3) 給水器 (1) 記憶 (3) 長期投資 (4) Aoba-BBT (14) IGS (14) Kラーニング (1)