JavaScript If文の復習と、三項演算子

出典: フリー教科書『ウィキブックス(Wikibooks)』

[編集] if文復習

[編集] if文

if文中の条件式の内部ではtrueかfalseの値を受け取る、と言ったが、正確には型ごとにその扱いは違う。 それぞれの型ごとに、falseとなる条件を挙げていくと

  • Number型:値が0ならばfalse、NaN(Not a Number)でもfalse
  • String型:長さ0の文字列「""」ならばfalse、それ以外はtrue
  • Undefined型, Null型は常にfalse

となっている。

[編集] 三項演算子

まずは次のコードを見て欲しい。

 if( a>b )
   a=b;
 else
   a=c;
 

上のif文には次のような省略記法がある。

 (a>b)? a=b : a=c ;
 

上の様な式を、三項演算子という(名前の由来は最低3つ項が必要な式が、これしか存在しないためである)。

この演算の記法は、条件式に続く値を返すので、

 a = (a>b)? b : c ;
 

の様に書くことが出来る。

不要に長いif文を削り、可読性を上げるために使う事が出来る。

 function foo( a ){
   return a ? true : false;
 }
 

また、三項演算子は式なので、

 var arr = ["○","×"];
 var exist = true;
 document.write( arr[exist?0:1] );
 

の様に、他の式と繋げて文になる事も出来る。

ヘルプ