構文
構文は以下の通りです。
// 関数の参照渡し
function 関数A(関数B) {
関数B();
}
// 呼び出し例
function 関数C() {
console.log("関数Cが実行されました");
}
関数A(関数C);
function 関数A(関数B) {
関数B();
}
// 呼び出し例
function 関数C() {
console.log("関数Cが実行されました");
}
関数A(関数C);
解説
関数を引数として他の関数に渡すことができます。これを「関数の参照渡し」と言います。渡された関数は、別の関数内で実行することができます。これにより、コードの再利用性が高まり、複雑な処理をシンプルに記述できるようになります。上記では、「関数A」が引数として「関数B」を受け取ります。そして「関数A」内で「関数B」を実行します。実際には「関数C」を「関数B」として「関数A」に渡しているため、「関数C」が実行されます。
プログラミング例
具体的なプログラミング例を紹介します。
// 関数の参照渡しの例
function メッセージを表示する(メッセージ) {
console.log(メッセージ);
}
function メッセージを実行する(実行関数, メッセージ) {
実行関数(メッセージ);
}
let メッセージ内容 = "こんにちは、Google Apps Script";
メッセージを実行する(メッセージを表示する, メッセージ内容);
function メッセージを表示する(メッセージ) {
console.log(メッセージ);
}
function メッセージを実行する(実行関数, メッセージ) {
実行関数(メッセージ);
}
let メッセージ内容 = "こんにちは、Google Apps Script";
メッセージを実行する(メッセージを表示する, メッセージ内容);
上記のプログラムは、「メッセージを表示する」という関数を作成し、それを「メッセージを実行する」という関数に渡しています。「メッセージを実行する」関数は受け取った関数を実行し、その結果「こんにちは、Google Apps Script」というメッセージがコンソールに表示されます。
まとめ
関数の参照渡しは、関数を引数として他の関数に渡し、渡された関数を実行する方法です。これにより、同じ処理を異なる場所で簡単に利用することができ、コードのメンテナンス性が向上します。