Javascript 演算子の基礎

基礎的内容ですが、知らなかったのでハックに残しておきます。

/* 条件演算子(?の前の引数がtrueなら:の前の引数を返し、falseなら:
の後の引数を返す)*/
x = a > b ? a : 0;

// a=3,b=8のとき
x = 0;
// a=8,b=3のとき
x = 8;

これを応用させると以下のようにif文を書き直すことも可能です。

// if文
var score = Math.round( Math.random() * 100 );
var str;
if( score === 100 ){ str = "100点"; }
else if( score >= 80 ){ str = "80~99点"; }
else if( score >= 50 ){ str = "50~79点"; }
else if( score >= 30 ){ str = "30~49点"; }
else{ str = "0~29点"; }
alert( str );

// 条件演算子の利用
var score = Math.round( Math.random() * 100 );
var str =
      (score === 100) ? "100点"
    : (score >= 80) ? "80~99点"
    : (score >= 50) ? "50~79点"
    : (score >= 30) ? "30~49点"
    : "0~29点";
alert( str );

少しif文を短くできました。