【JavaScript入門】三項演算子とswitch文

JavaScript
スポンサーリンク

JavaScript入門の基礎的な内容を続けていきましょう。if-else文論理演算子などを使って、条件分岐の制御構文をすでに扱いましたが、これをまた違った形で表現してみましょう。

ここでは三項演算子(Ternary Operator)とswitch文(Switch Statements)について扱います。

スポンサーリンク

三項演算子

まず、三項演算子からみていきましょう。三項演算子は条件演算子とも言います。これまでif-else文でブロックで分けて書いていたコードを三項演算子では1行でまとめて書くことができます。

次のif-else文を利用してみます。

このコードを三項演算子を使って書き換えてみましょう。

三項演算子は次の形でコードを書きます。

条件式の次に?を置き、この条件式がtrueの時に実行する式を次に置きます。次にコロンを置いて、falseの時に実行する式をかきます。

これを用いて、先ほどのコードを書き換えると、次のようになります。

年齢が18歳以上の場合は選挙権があり、18歳未満の場合は選挙権が無いことを1文で書いているのがわかります。

これを実行すると、この場合は条件式はtrueになるので、「太郎は選挙権があります。」とコンソールに表示されることになります。

次のif-else文を書き換えてみましょう。

条件式の判定の結果を変数に入れることで、返り値として扱うことができます。

書き換えると次のようになります。

このように、三項演算子はスッキリとコードを書くことができます。

スポンサーリンク

switch文

三項演算子はtureかfalseかで分岐するだけでしたが、if文にelse ifで多岐にわたる条件分岐になる時などは使えません。そんな場合はswitch文が使えます。

switch文は次のような形で記述します。

switchに式を与えます。caseにに続けて値を置いてコロンを書きます。その下に、式と caseの値が一致した場合に実行する処理を書きます。この処理のみで終わらせるためにbreakを置きます。このcase句を条件の数だけ用意します。default句は無くて動きますが、どの条件にも合わなかった時の処理を記述しておきます。

switchの式がどのcaseの値に合うか判定して、命令を実行するということになります。

変数studyLangとして、学んでいるプログラミング言語を与えます。それぞれのcaseの値に各種言語で処理を分岐させています。

ここではJavaScriptが1番目のcase句の値と一致しているので、ブラウザで実行するとJavaScriptコンソールには「ただいま勉強中!」と表示されます。

このコードを次のように書き換えてみます。

case句をbreakを使わずに2つ並べている部分を作ります。

これはエラーにはなりません。この場合は、変数がJavaScriptでもPythonでも最初の処理が実行されることになります。こういう使い方もできるということを頭に入れておきましょう。

もう一つやってみます。

論理演算子のところで扱った次のコードを利用してみます。

if-else文で複数の条件で分岐させているコードです。

これをswitch文に書き換えてみます。

switchの式をtrueにして、case句の値を比較演算子を使って変数を評価する条件にしています。

この場合の結果は以下のように表示されます。

ageの値を色々変えると、caseに合わせて結果が変わります。

なお、このswitch文の式とcaseの値の比較は「===」演算子であることにも注意して置きましょう。これは数字と文字列を厳密に区別する為です。

スポンサーリンク

まとめ

JavaScriptの入門的知識として、ここでは三項演算子(Ternary Operator)とswitch文(Switch Statements)について扱いました。

三項演算子はif-else文でブロックで分けて書いていたコードをtrue/falseで判定して1行でまとめて書くことができます。

switch文は多岐にわたる条件の分岐を処理することができます。if文で繰り返してコードを書いて分岐させるよりもスッキリした読みやすいコードになります。

JavaScript
スポンサーリンク
CodeGraffitiをフォローする

コードグラフィティ:とにかく進め!独学プログラミング – Python入門から始めてどこまで学べる?
タイトルとURLをコピーしました