【条件分岐】値に応じて違う行動を起こす

業務の効率化のためのプログラミング入門」というシリーズの記事です。

前回までの第三章では、GASはじめの一歩としてスクリプトエディタを使ってJavaScriptの初歩的な文法を学びました。

今回からの第四章でも同じくJavaScriptの文法を学びます。ですが、条件分岐や繰り返し実行など第三章よりも実践的な内容となります。この章まで読み進めれば基本的な処理は一通り書けるようになるはずです。

四章のはじめとして、まず今回は「条件分岐」を解説します。

条件分岐

普段、「○○なら、××をしよう」と条件を付けて行動することがあると思います。プログラムの世界でもこのような人間の思考と同じように条件を付けて処理を分岐させることができます。

この「○○なら、××をする」という条件分岐を使うことで、いままでは一本道であったプログラムが一気に複雑な処理ができるようになります。

if文

まずは、条件分岐で一番利用機会が多いif文から見ていきましょう。

if

基本的な構文は次の通りです。

プログラム

const taskDone = true
if (taskDone) {
  console.log("お疲れ様でした!")
} else {
  console.log("タスクやりましょう!")
}

実行結果

お疲れ様でした!

もし、プログラムの「taskDone」がfalseの場合は何が表示されるでしょうか。

const taskDone = false
if (taskDone) {
  console.log("お疲れ様でした!")
} else {
  console.log("タスクやりましょう!")
}
タスクやりましょう!

結果を整理すると次のようなことが言えます。

構文

if (条件式) {
  // 条件式がtrueの場合に実行したい内容
} else {
  // 条件式がfalseの場合に実行したい内容
}

else if

更に分岐条件を追加するにはelse ifを追加します。

プログラム

const taskDone = false
const sleepy = true

if (taskDone) {
  console.log("お疲れ様でした!")
} else if (sleepy) {
  console.log("おやすみなさい!")
} else {
  console.log("タスクやりましょう!")
}

実行結果

おやすみなさい!

taskDoneはfalse、sleepyはtrueなので、二段目の「おやすみなさい!」が表示されました。このようにif文は上から条件式を確認して最初に一致した処理が1つだけ実行されます。

構文

if (条件式A) {
  // 条件式Aがtrueの場合に実行したい内容
} else if(条件式B) {
  // 条件式Bがtrueの場合に実行したい内容
}

ちなみにこのようにelse部分は必須ではないのでifのみで利用することもできます。

const taskDone = false

if (taskDone) {
  console.log("お疲れ様でした!")
}

条件式

if文の条件分岐に使われる「条件式」について詳しく見ていきます。

比較演算子

比較演算子とは、AがBと等しい、AがBより大きいなど二つの値、変数を比較するための演算子です。条件式では、比較演算子を使いtrue/falseを判断することが大半です。

比較演算子にはどんな種類のものがあるのか紹介します。

演算子説明
===右辺と左辺が同じである場合、true“佐藤” === “佐” + “藤”
!==右辺と左辺が同じでない場合、true“佐藤” === “鈴木”
<=左辺が右辺以下である場合、true4 <= 4
<左辺が右辺より小さい場合、true4 < 5
>=左辺が右辺以上である場合、true4 >= 4
>左辺が右辺より大きい場合、true5 > 4

プログラム

const name = "佐藤"
if (name === "佐藤") {
  console.log("佐藤さんですね")
} else {
  console.log("佐藤さんではない")
}

実行結果

佐藤さんですね

この場合、「name === “佐藤”」はtrueなので、上のブロック内が実行されます。

論理演算子

条件式における論理演算子は、複数の条件を同時に評価したい場合に使う演算子です。「AかつBがtrueの場合」「AかBがtrueの場合」など2つ以上の条件を繋げて判断したい場合に使用します。

演算子説明
&&AND(論理積)と呼びます。
左右の式が両方ともtrueの場合にtrueを返します。
true && true → true
false && true → false
||OR(論理和)と呼びます。
左右の式の片方がtrueの場合にtrueを返します。
true && true → true
false && true → true

まとめ

今回は「条件分岐」について紹介しました。

この条件分岐はプログラムを書く上で必ず登場する文法です。条件式の書き方を含めて慣れない概念かと思いますが少しずつ慣れていくようにしましょう。

連載目次

次の記事は「【繰り返し】同じ処理を反復させる」です。