GAS 条件分岐完全ガイド
GAS基礎と条件分岐の概要
Google Apps Script(GAS)はJavaScriptをベースにしたスクリプト言語で、Google Workspaceのサービスを自動化できます。条件分岐はスクリプトの制御フローを決定する重要な構文です。GASでの条件分岐は、JavaScriptと同様に if、else、else if、switch を使って実装します。
条件式は true か false を返す式で、比較演算子(==、===、!=、!==、>、< など)や論理演算子(&&、||、!)を組み合わせて作ります。
以下では、GASでよく使われる条件分岐の書き方を具体例とともに解説します。
if文・else・else ifの使い方
最も基本的な条件分岐は if 文です。条件式が true のときにブロック内のコードが実行されます。
function checkNumber(n) {
if (n > 10) {
Logger.log('10より大きい');
}
}
複数の条件を順に判定したい場合は else if を使います。最後に else を置くことで、すべての条件が偽の場合の処理を記述できます。
function classify(n) {
if (n > 10) {
Logger.log('大きい');
} else if (n === 10) {
Logger.log('ちょうど10');
} else {
Logger.log('小さい');
}
}
条件式内で論理演算子を組み合わせると、複雑な判定も簡潔に書けます。例えば、n が 5 以上 15 以下の場合は次のように書けます。
if (n >= 5 && n <= 15) {
Logger.log('範囲内');
}
switch文と条件式
複数の等価比較を行う場合、switch 文が便利です。switch は評価式の結果に一致する case を実行します。
function dayName(day) {
switch (day) {
case 1:
Logger.log('月曜日');
break;
case 2:
Logger.log('火曜日');
break;
default:
Logger.log('その他');
}
}
JavaScript(GAS)では switch のケースは厳密比較(===)で判定されるため、型が一致しないとマッチしません。数値と文字列を混在させる場合は注意が必要です。
条件式を使って switch を拡張することも可能です。例えば、範囲判定を行う場合は switch(true) を使うテクニックがあります。
function rangeCheck(n) {
switch (true) {
case (n < 5):
Logger.log('5未満');
break;
case (n <= 10):
Logger.log('5以上10以下');
break;
default:
Logger.log('10超');
}
}
比較演算子・論理演算子とtrue/false
比較演算子は値の大小や等価性を判定します。== は型変換を行い、=== は型も含めて厳密に比較します。逆に != と !== も同様です。
if (a == b) { /* 型変換あり */ }
if (a === b) { /* 型も含めて等しい */ }
論理演算子は複数の条件を組み合わせる際に使います。&& は両方が true のときに true を返し、|| は片方が true なら true を返します。! は真偽値を反転します。
if (a > 0 && b < 10) { /* 両方の条件が満たされる */ }
if (!(c === d)) { /* 等価でない場合 */ }
GAS の Logger.log で結果を確認すると、true と false がそのまま出力されます。条件式の結果をデバッグする際は、Logger.log で中間値を確認すると便利です。
コメント
コメントを投稿