📖
コールバック関数を建設業の多重下請け構造で理解する試み
コンセプト
建設業の多重下請け構造を参考に、コールバック関数を理解します。
そもそもコールバック関数というのは:
他の関数の引数として渡せる関数です
ではなぜ、関数の引数に関数を渡せるのか? 以下の流れで理解できると思う、、、
第一に:関数の引数としてobjectを渡すことができる
第二に:関数は実行可能なobjectです
上記より、関数の引数として渡すことができる
基本的な使い方
//依頼される関数(2次請)
function nijiuke(){
console.log('竣工しました!!');
}
//依頼する関数(元請)
function motouke(sekougaisya){
sekougaisya(); //←motoukeの元でnijiukeは作業を実施
}
//実行元(施主)
motouke(nijiuke); //←「この下請け(nijiuke)に仕事を回して!」と指示しながら、ゼネコンに建設工事を発注
//実行結果:"竣工しました"
motouke()に引数で渡されたnijiuke()は、motouke()の処理のなかで実行される
依頼される関数に引数がある場合
おっと忘れた、nijiuke株式会社に依頼するときに、施工現場を指定しなければ、、、
//依頼される関数(2次請)
function nijiuke(sekoubasyo){ //←nijiukeは”sekoubasyo(施工場所)”を受け取る
console.log(`${sekoubasyo}'の工事竣工しました!!`);
}
//依頼する関数(元請)
function motouke(sekougaisya){
sekougaisya("sampleビル"); //←motoukeはsekoubasyo(施工名書)を指定してnijiukeに依頼
}
//実行元(施主)
motouke(nijiuke); //"sampleビルの工事、竣工しました"
以上となります。建設業関係者には理解しやすかったのではないでしょうか。
実際に施主に気に入られる担当者さんいますよね。
今日もご安全に!!
Discussion