ウェブオクトパス

ブログ

第6章 条件で分岐


 ここまで、まだほとんどプログラム組んでいませんが、前章で作った文字を表示するだけ、この条件分岐を加えるだけで、アドベンチャーゲームブック的なものが作れてしまいます。
 まあ、ここは入門未満のコーナーなので作りませんが。
 というわけで条件分岐の例です。

<html>
<head>
  <script>
    var x = 100;
    var y = 50;
    document.open();
    if (x > y) {
      document.write("x は " + y + "より大きいです");
    } else {
      document.write("x は " + y + "より大きいくないです");
    }
    top.main.document.close();
  </script>
</head>
<body>
</body>
</html>

 実行例(別窓で開きます)

 x は 50より大きいです

 って表示されるだけなんですけどね。

 条件分岐は if else のところです。
 英単語なので見ただけで分かってしまうかもしれませんが、

 if(もしほにゃららだったら){この処理をしろ}else{そうじゃなかったらこっちの処理をしろ}

 というような書き方をします。
 else のところはすることなかったら省略しても良いです。
 他、詳しくはググってください。

 おっと、なにげに忘れてました。

 var x = 100;
 var y = 50;

 という部分。
 これも見ただけで分かるイケメンがいるかもしれませんが、
 x = 100 と書くと、
「この行以降は x という文字は数字の 100 ということにしといてください」
 というお願いになります。
 x のところは英数字ならだいたい好きに決めてよいです。
 hoge = 100 なら以後 hoge という文字は数字の 100 という扱いになります。
 ここでの = は等式ではなく、右の値を左に代入するという意味になります。
 イコールの意味が算数と異なります。
 そして、こういう値を代入された文字を「変数」と言います。
 x = 100; x = 200; と書くと x は 200 になります。
 上書きされて変わるので変数といいます。うそ、知りません。

 なんでこんなことするのかというと「使いまわしたい」だけです。
 100 のところが必ず 100 でしかないのならこういうことはしなくても良いのですが、100 だったり、200 だったりすると、if(100 > 50){ほにゃらら;}、 if(200 > 50){ほにゃらら;} という具合に、考えつく限りの条件文を書かないといけません。
 しかし、x = 100; y = 50; if(x > y){ほにゃらら;} としておけば、if(x > y){ほにゃらら;} の部分は1つで済むということです。
 その場合、今度は x = 100; y = 50; の部分をいっぱい書かないといけなかったりもしますが、この部分が仮にユーザーから入力される値を「読む」場合は1つで済みます。

 って書きながら思ったけど、この例え分かりにくいな。
 まあ、なんとなく「変数」というものがあって、それは不特定の値を持たせる器なのだと覚えておいてください。

 それよりも、プログラムにおける「使いまわしたい」という強欲は今後どこまでも付いて回る大罪だということも覚えておいてください。