CHAPTER 1 · 19 LESSONS · 247 問
文法のきほん
値を表示する、計算する、名前をつける、条件で分ける。プログラムの土台になる書き方をひととおり。
プログラムというと、何か複雑なものを想像するかもしれない。でも中身をほどいていくと、やっていることは驚くほど少ない。値を扱い、名前をつけて覚えておき、状況によってやることを変える。この章で覚えるのは、その3つだけだよ。
最初にやるのは「画面に出す」こと。console.log と書いて、出したいものを渡す。それだけで文字も数字も表示できる。地味に見えるけれど、これは書いたコードが本当に動いたかを確かめる唯一の手段になる。この先ずっと使い続けるので、ここで手になじませておこう。
次が 値の種類 の話。JavaScript では、文字を扱うときは "こんにちは" のように引用符で囲み、数を扱うときは 100 のようにそのまま書く。見た目が似ていても、"100" と 100 はコンピュータにとって別物だ。文字どうしを + でつなぐと連結になり、数どうしを + でつなぐと足し算になる。この違いは初学者が最初につまずくところで、後で出てくるバグの半分くらいはここが原因になる。
そして 変数。同じ値を何度も書くかわりに、名前をつけて置いておく。let price = 150 と書けば、以後は price と書くだけでその値を呼び出せる。値を1か所で直せば全部に反映されるので、書き直しが一気に楽になる。名前のつけ方にもコツがあって、a より price のほうがいい。三日後の自分が読んで分かるかどうかが基準だよ。
章の後半は 条件分岐。ここでプログラムがはじめて「判断」を持つ。if を書いて、条件が成り立つときだけ中の処理を動かす。成り立たないときの処理は else、もう一段階の分岐は else if。条件そのものは > や === といった比較で作り、&& や || で組み合わせる。
条件分岐でよくつまずくのが、= と === の取りちがえ。= は「右の値を左に入れる」で、=== は「左と右が同じか」を尋ねる。まったく別の意味なので、書きまちがえると意図しない動きになる。この章で体に入れておこう。
条件が3つ以上に増えるときのために switch も扱う。同じ変数を何度も比べるだけの else if が続くなら、こちらのほうが読みやすい。ただし break を書き忘れると次の分岐まで続けて動いてしまうので、そこだけ注意だよ。
この章を進めるときのコツをひとつ。エラーが出たら、まずそのまま読んでみること。英語だからと閉じてしまう人が多いけれど、書いてあることは意外と単純だ。「x is not defined」なら「x なんて知らない」、つまり変数を作る前に使っているか、名前を打ちまちがえている。エラーメッセージは敵ではなく、いちばん近くにいる先生だよ。
この教材では、エラーをブラウザが出したそのままの形で見せている。日本語に直したり、やさしく言いかえたりしていない。実際の開発で目にするのはこの形だから、早いうちから慣れておいてほしいからだよ。
ここまで終われば、「入力を受け取って、条件で分けて、結果を出す」という形のプログラムが書けるようになる。まだ小さなプログラムだけれど、この形はどれだけ大きなアプリになっても変わらない。何万行のシステムでも、やっていることは値を受け取り、判断し、結果を出すことの積み重ねだよ。
急ぐ必要はない。この章の内容は、この先ずっと毎日使うものばかりだ。ここで手が覚えるまでやっておくと、あとの章がずっと楽になるよ。
この章のレッスン
文字と数を表示する
値に名前をつける
条件で分ける