📖

コールバック関数を建設業の多重下請け構造で理解する試み

に公開

コンセプト

建設業の多重下請け構造を参考に、コールバック関数を理解します。

そもそもコールバック関数というのは:

他の関数の引数として渡せる関数です
ではなぜ、関数の引数に関数を渡せるのか? 以下の流れで理解できると思う、、、
第一に:関数の引数として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