目次

オブジェクトなJavaScriptの基礎講座

if/switch文の使い方

◆ はじめに

今回はif/switch等の条件判断文をお勉強いたします。プログラムは基本的に、この「条件判断文」と「代入文」と「繰り返し文」の組み合わせからなります。ですので、しっかり、この3つは、マスターいたしましょう!

◆ 真偽

JavaScript が真偽として扱うものには以下のようなものがあります。

( null と undefined は実質的に同じ扱いを受けます。)

◆ 真偽の反転

! 演算子を使うと、真偽の反転を行います。
このとき 0 や "" に対して ! を使って、!0 , !"" とすれば、これは真として扱われます。

◆ 条件式

条件式(例)意味
a > 1変数 a が 1 より大きいとき真
a == 1変数 a が 1 のとき真
a >= 1 && b < 1aが1と大きいか等しいくてかつbが1より小さいとき真
a > 1 || b == 1aが1より大きいかまたはbが1と等しいとき真
a != 1aが1と等しくないとき真

関係演算子意味
>大きい
>=大きいか等しい
<小さい
<=小さいか等しい
==等しい
!=等しくない

論理演算子意味
!否定(NOT)
&&かつ(AND)
||または(OR)

◆ if文の使い方

if文は、条件式を判定し、その判定に応じた処理を行います。

      if (条件式) {
          真の場合の処理 ;
      }
      else{
          偽の場合の処理 ;
      }
解説

条件式を使った代入

また、if文を使わないで、簡素に条件式を使った代入ができます。

 
  a = ( 条件式 )? 真の場合の値 : 偽の場合の値 ;
  
  または
  
  a = ( 条件式 ? 真の場合の値 : 偽の場合の値 );

例1、Kの文字を500個表示します、一行50文字で改行します。

<script type="text/javascript">
for(i=1;i<=500;i++){
     document.write("K");
     if(i % 50 == 0){
        document.write("<BR>");
     }
}
</script>

尚、document.writeはdocumentオブジェクトを参照してください。今回はブラウザ出力です。


例1の処理結果

◆ switch文の使い方

if文がネストする場合など、switch をつかえば、簡素にまとめることができます。
一般に、次のような書式で使います。

  switch( 整数 N )
  {
    case 0:
         ケース 0 の場合の処理
        break:
    case 1:
         ケース 1 の場合の処理
        break:
    case 2:
         ケース 2 の場合の処理
        break:
    case 6:
         ケース 5 の場合の処理
        break:
    case 101:
         ケース 101 の場合の処理
        break:
    default:    
         どのケースにもあたらない場合の処理
        break:
  }

switch( ) の括弧の中にはNをいれます。 このNにあたる case N: の部分から処理が始まります。

それぞれの case の文末には break; を入れる必要があります。これを入れないと後に続くケースの処理が実行されて行きます。意図的に break; を入れないような扱い方も出来ます。

case Nの N は全てのNについて記述しなければならないわけではありません。どのケースにもあたらない場合は defaultの部分の処理が実行されます。

Nに文字列を使って次のようにすることもできます。

    function ISM( _OS )
    {
      switch ( _OS )
      {
        case "WINDOWS":
          document.write( "WINDOWS" );
          break;
        
        case "MAC":
          document.write( "MAC." );
          break;
      
        case "UNIX":
          document.write( "UNIX." );
          break;
        
        default:
          document.write( "Other OS." );
          break;
      }
    }
    
    ISM( "WINDOWS" );

Labelに使えるのは固定値だけです。

目次