Skip to content →

もし文のif文

今日はif文について、調べてみよう。

●if文ってなに?

if文は条件によって処理を分けたいときに使えるらしい。これを、条件分岐という。「もし、○○したらこうする。○○しなかったらこうする。」というプログラムを書きたい時に便利だよ。

「if」は日本語に訳すと「もし…」という意味だよ。

●どんなふうに書くの?

if文はこんなふうに書く。

つまり、

というふうに書く。

この条件式の部分は、プログラムでは「●●したら…」という書き方ではなく、「●●と○○が等しければ」とか「○○が●●以上なら」というような書き方をする。

何かと何かを比較して、条件式を作るんだ。この時に使う演算子が、少し前に勉強した比較演算子だ。if文条件式では上記のように比較演算子を使うようなので、セットで覚えておこう。

●if文をコトバの式で考えてみよう

じゃあ、例えばこんなコードを書きたかったら、どうしたらいいだろう。コトバにして考えてみよう。

moon君が3枚のカードを持っている。

ぼくがもし、(つまりif)ババを引いたら(つまり条件だね)、腹筋200回の刑!(つまり、○○したらどうする、のどうするの部分の処理だね)

これを構文に当てはめてみると…。

という感じになるね。

それじゃ、ババを引かなかった場合はどうなるんだろう?

●そうだった場合とそうじゃなかった場合

if文では、「●●したか、しないか」というように条件分岐が出来る。今のコードでは、「●●をした場合」の処理だけしか書いていない。

「●●した場合」と「●●しなかった場合」の処理をそれぞれ変えたいなら、こんなふうに書く。

elseという新しい言葉が出てきた。

これは日本語に訳すと、「それ以外の」とか「さもなくば」という意味。つまり、「それ以外の処理を書いてね。」ということだね。

elseの後には 「●●しなかった場合」 の処理が書ける。

処理がなにもなければ、一番最初に書いたようにelseは書かなくていい。省略できるらしいから。

●Aをしたらどうする、Bをしたらどうする、という処理

それじゃ、例えば「ババを引いた場合」と「ハートのエースを引いた場合」で処理を分けたかったらどうだろう。これは今まで書いてきたif文と同じようでちょっと違う構文を、また勉強しなくちゃいけない。それについては別の記事でまとめることにしよう。

●イエスとノー、裏と表のブール値

elseの後には「●●しなかった場合」の処理を書く、と言ったけど、じゃあもし条件が「ババを引いたら」じゃなく、「ババを引かなかったら」だったらどうなるだろう。

こんなプログラムになる。

elseの前は条件式に対して正しい場合(つまりイエスだった場合)、elseの後は条件式に対して違う場合(つまりノーだった場合)を書く。間違えない様にしたいポイントだね。

このような、「正しい場合、そうじゃなかった場合」とか「正解だった場合、不正解だった場合」。「イエスだった場合、ノーだった場合」という裏表ののことをブール値というよ。

さらに、JavaScriptの言葉では、「そうだった場合どうする、そうじゃなかった場合どうする」、「イエスだった場合どうする、ノーだった場合どうする」など数々の裏表の処理のことをtrue(真)false(偽)という。

この場合は「そうだった場合」がtrue(真)、「そうじゃなかった場合」がfalse(偽)。「イエス」がtrue(真)、「ノー」がfalse(偽)

このことから、ブール値は別名、「真偽値」とも呼ばれてるんだ。

●プログラムを作ってみる

コトバではif文を作れた。今度は実際にプログラムにしてみよう。

簡単なメソッドを使ってプログラムを書くよ。今回は「window.alert」というメソッドを使おう。(というか、まだそれしか知らないからね…。)

条件式の部分では(つまり、ババを引いたら…の部分だよ)、比較演算子を使うとして、「文字列が等しければ」という条件式で作ってみよう。

「ババを引いたら、どうする」の「引いたらどうする」の部分の処理(つまりtrueの時の処理)は「window.alert」で「腹筋200回の刑!」と出るようにしよう。

では、書いてみよう。

できた!

if文は、分岐させたい条件を考えてブール値はどんな処理にしようかなと考える。そんなプログラムでした。

おわり。

○参考にした書籍

  • 確かな力が身につくJavaScript「超」入門
  • 入門者のJavaScript 作りながら学ぶWebプログラミング
  • よくわかるJavaScriptの教科書

このサイトは、言語やコードの解説ではなく勉強日記としてのブログです。
単なる日記、物語感覚で読んで楽しんでもらえると嬉しいです。
参考にさせてもらった書籍やサイトのURLを載せていますので、そちらを確認して頂いた方が確実です。(試行錯誤の勉強中のブログですから、私の文書や解釈には間違いがあるかもしれません。)

Published in JavaScript

Comments are closed.