javaScript

switch文を使って条件を細かく設定する。

以前は複数のifelse文を用いて月の入力を促して、その結果を踏まえた季節を表示するサンプルプログラムを紹介しました。しかし、ifelseだけで表記をするとコードは読みにくくなります。

そこで、今回書いていくのがswitch文と呼ばれるものです。switch文は、変数や式の値に応じて、処理を個別に設定できます。括弧内「()」の値に対応するcase文にジャンプして、break文でブロックを抜けます。

実行結果はこちら

文字列を数値に変換するNumber関数

サンプルコード上にて、入力ダイアログボックスを表示するpromptメソッドの戻り値は文字列です。文字列を数値として扱うためには、文字列を数値に変換する必要があります。今回登場したNumber関数を使って、文字列を数値に変換できます。

関数とは、、処理の塊を名前(関数名)で呼び出せるようにしたものです。メソッドと同じように引数を処理して戻り値を返します。ただし、メソッドのようにオブジェクトに依存はせず、単独で呼び出すことが可能です。

なお、変数monthの値が文字列でも、switch文で使うことはできますが、その場合caseの後の値は「"」で囲って、文字列として比較します。
case "1":
case "2": といった感じにです。

比較演算子の数値と文字列の処理

前回まで、if文では、変数の値を数値に変換する処理はしておりません。これまでに出てきたコードは

javaScriptでは、実は比較演算子で数を表す文字列を比較しようとすると自動的に数値に変換された上で比較されます。

"100" >= 5

100 >= 5

true

といった具合になります。私のように他のプログラミング言語からjavaScriptを学ぶとこういうのが気になります。たしかに便利なのですが・・・

-javaScript
-