jsのif文の省略

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] を出すという条件式ですね。

コード量が減り、括弧の閉じ忘れなどのミスは減るかもしれません。
ただし運用面で適しているのか、複数人で作業するときは他の人も分かりやすいか、、
などはルールを決めた方がよさそうですね。

タイトルとURLをコピーしました