はてな萌え

最近になってJavaScript三項演算子(というらしい) ?: をよく使うようになった(遅っ!)。すんげー便利。
if〜else〜の代わりとして使うのかと思ったら、演算子だからもっと便利な使い方ができる。式の途中にぶち込んだりとか。
例えばこんなコードが

var list = [ "a", "b", , "d" ];
//リストからテーブルを作ってみる。
var tbody = "";
for(var i=0; i<list.length; i++){
  if(list[i]) //list[i]が空要素の場合もあるから。
    tbody = tbody + "<td>"+list[i]+"</td>";
  else
    tbody = tbody + "<td></td>";
}
// HTMLファイルには<table id="table"></table>というのがあるということで
document.getElementById("table").innerHTML = "<tr>"+tbody+"</tr>";

?:を使えばこんな感じに

var list = [ "a", "b", , "d" ];
//リストからテーブルを作ってみる。
var tbody = "";
for(var i=0; i<list.length; i++)
  tbody = tbody+"<td>" + (list[i] ? list[i] : "") + "</td">;
// HTMLファイルには<table id="table"></table>[f:id:okela:20070207200715p:image]というのがあるということで
document.getElementById("table").innerHTML = "<tr>"+tbody+"</tr>";

短くできる。短いだけじゃなくてより直感的に把握しやすい、ような気がする。把握しにくくなるんなら?:つかな無きゃ良いんだし。
なんか今まで無駄に関数作ったりブロック作ったりしてた部分がだいぶ省略できるようになった。

『新書表題機』公開しました。

前に記事に書いたゲラゲラ作文Widget、とりあえず完成したのでオケラボ掲載しました。(アクセスできない場合はトップページからどうぞ。)

前の記事の時点では作文の種の変更ができませんでしたが、項目の追加・削除ができます。編集方法は画像の通り。複数選択で纏めて削除もできます。

間違って入力した場合、直接訂正はできないので消して追加し直すことになります。あと項目の並べ替えはできません。が、どうせランダムに呼び出すので問題ないでしょう。
感想とかあったらコメントしてくれると嬉しいです。