関数したい(function
)
1function 関数名(引数) {
2 // 関数を定義
3 const book = SpreadsheetApp.getActiveSpreadsheet();
4 const sheet = sheet.getSheetByName(引数);
5 const range = sheet.getDataRange();
6 const data = range.getValues()
7 return data;
8}
function
を使って関数を定義できます。
GASプロジェクトは、このfunction
を使った関数の集合体として作成することがほとんどです。
同じプロジェクト内で、ファイルを分けることができますが、すべてグローバルな関数として扱われるため、関数名が重複しないように気をつける必要があります。
オプションしたい
1function 関数名(位置引数, options={}) {
2
3 // オプションの初期値を設定
4 const {オプション1 = 初期値, オプション2 = 初期値} = options;
5
6 // オプションによる条件分岐
7 if (オプション1) {
8 // 処理
9 }
10}
JSでは名前付きの引数を設定することができません。 しかし、オブジェクトを引数にすることで、名前付き引数のように動作させることができます。
関数式したい
1const add = function(a, b) {
2 return a + b;
3}
関数を変数に代入できます。
アロー関数したい
1const 関数名 = (引数) => 返り値;
2const add = (a, b) => a + b;
アロー関数はES6で導入された書式です。 単純な処理は、アロー関数で書くとよいみたいです。
関数定義の書式について
歴史的な経緯からJavaScriptには関数を定義する書式が複数あります。
まずは、function
を使った書式を体得すればよいと思います。
この書式は、初期のJSから使えるものですが、
JSでは後方互換性を保つことが大事にされているため、モダンJSでも動作します。
アロー関数はES6で新機能として導入された書式です。
利用可能な環境であれば積極的に使えばよいと思います。
いろいろと省略できるため、function
書式に比べてコード行数を圧倒的に減らすことができます。
ただし、しばらく使ってみた感想として、複雑な処理を書くとあとで分かりにくいなと感じました。 それぞれ機能と構文が異なりますが、可読性の観点からも、書式の使い分けを考えてもよさそうです。