三項演算子とかswitch文とかの代替になるコードの書き方
jQueryのソース読んでて、三項演算子とかswitch文とかの代替になるキモいコードの書き方をしてるところをみつけた。世間じゃ有名なのかもしれないけど、自分は知らなかったんでメモしとく。
こういうのとか
var hoge = "適当な値"; var result = (hoge == "適当な評価式") ? "hoge": "fuga";
こういうのが
var hoge = "適当な値"; var result; switch(hoge) { case "aaa": result = "aaa"; break; case "bbb": result = "bbb"; break; case "ccc": result = "ccc"; break; default: result = "default"; break; }
こんな感じで書ける
var hoge = "適当な値"; var result = (hoge == "aaa") && "aaa" || (hoge == "bbb") && "bbb" || (hoge == "ccc") && "ccc" || "default";
条件式とANDする値がfalseとして評価される場合には当然使えないけど、便利な書き方な気がする。
しかし、例に出すコードがイマイチうまくないな…。