15. 制御文

ある条件を満たすときにだけ、特定の命令を実行させたい、ということがあります。

JavaScriptでも、他の言語同様に制御文があり、if文とswitch文が用意されています。
if文は、ある条件を満たすかどうか、switch文は取りうる値ごとに処理を分岐させたい場合に使用します。

if文の例

if文はある条件を満たす場合に実行したい処理を記述します。
else、else ifを用いて、条件が満たなかったときに実行したい処理や、さらに次の条件を記述することができます。

<!DOCTYPE html>
<html>
<head>
  <title>Lesson15-1</title>
</head>
  <body>
    <script>
      let value = prompt('Input number');
      let message;

      if(value == null || value == '') {
        message = 'Not specified.';
      } else if (isNaN(value)) {
        message = value + ' is not number.';
      } else {
        message = value + ' is number.';
      }
      alert(message);
    </script>
  </body>
</html>

switch文の例

とりうる値によって処理を複数に分岐させたい場合は、if、else ifで一つずつ列挙してもよいですが、switch文を使用する方がシンプルでよいです。
caseごとに処理を記述します。各caseの終わりにbreakを入れないと、処理が突き進んでいきますので注意してください。
なお、caseで列挙した条件に合致しない場合、defaultで指定した処理が実行されます。

<!DOCTYPE html>
<html>
<head>
  <title>Lesson15-2</title>
</head>
  <body>
    <script>
    let day;
    switch (new Date().getDay()) {
    case 0:
        day = 'Sunday';
        break;
    case 1:
        day = 'Monday';
        break;
    case 2:
        day = 'Tuesday';
        break;
    case 3:
        day = 'Wednesday';
        break;
    case 4:
        day = 'Thursday';
        break;
    case 5:
        day = 'Friday';
        break;
    case 6:
        day = 'Saturday';
        break;
    default:
        // bug
        break;
    }
    alert('Today is ' + day);
    </script>
  </body>
</html>