謎's キッチン

謎のひとりごと。Amazon欲しい物リストはこちら: https://www.amazon.co.jp/hz/wishlist/ls/CCPOV7C6JTD2

三項演算子(条件式)のelse if

ネストによって可能な言語が殆どなはずだけど、あまり解説されてないので括弧付けたい病になってしまう俺。

if(a)alert("a")
else if(b)alert("b")
else if(c)alert("c")
else alert("other");

三項演算子を使って

a?alert("a"):
b?alert("b"):
c?alert("c"):
alert("other");

と書ける…っと。(全体がvoid型という前提で)第三引数を省略する場合?:では無くて&&を使わないといけないってのが面倒だわな。
後、式文の塊を式にするには;じゃなくて,で繋げばいいんだけど、D言語では最後の要素が返るのにJSでは最初の要素が返ってくる…。これはD言語の挙動の方がいいわな。んで、戻り値を使わない場合は最適化してくれるならローカル変数宣言とかできないけどif文イラネって事に…ってか宣言式があってもバチは当たらないだろうに。スコープの問題も無さそうだけど。D言語ではローカル変数での前方参照は無かったはずだし。