jsでのif文の省略について書いていきます。
省略系はほぼ暗号なので、知らないとまず読めませんよね。。
まずtrueの判定についてです。
trueの判定は型により異なります。
Number型 : 値が 0 または NaN で false
String型 : 空のとき、「””」のときは false
Undefined型, Null型は false
以下はtrueのときに通すものです。
var test = 1_; if(test){ alert("true"); }
アラートで true が出ます。
{}も省略できます。
ただしステートメントが 2行以上続くときは省略できません。
var test = 0; if(test) alert("OK"); else alert("NG");
さらに省略
三項演算子というものです
var test = 1;<br /> (test<5)? mes="OK" : mes="NG" ; alert(mes);
trueかfluseのときは()も省略できます。
var test = 1; test? mes="OK" : mes="NG" ; alert(mes);
そのまま変数に入れることもできます。便利。
var test = 1; var mes = (test)? "OK" : "NG" ; alert(mes);
以下のように、配列を出し分けることもできます。
var test = 1; var arr = ["trueだよ","falseだよ"]; alert( arr[test?0:1] );
こちらはアラートで trueだよ と出ます。
test が true の値なら、arr[0] を出し、
そうでなければ arr[1] を出すという条件式ですね。
コード量が減り、括弧の閉じ忘れなどのミスは減るかもしれません。
ただし運用面で適しているのか、複数人で作業するときは他の人も分かりやすいか、、
などはルールを決めた方がよさそうですね。