for-in文とif-in文のおさらい

これらはオブジェクトに含まれるプロパティを調べる時に役立ちます。for-inはよく使うんだけど、if-inは久々に使うことになったので、思い出すのに時間がかかってしまいました。というわけでいつものように忘れないためにメモ。

var obj = {name : "hatena", showMessahge : function(){ alert("hello"); }};

こんなオブジェクトがあったときに、このobjがもつプロパティ一覧を見たいときは次のようにする。

for(var property in obj) {
  console.log(property); // firebugのコンソールで表示
}

一覧表示ではなく、特定のプロパティを持っているかどうかを調べる時は次のようにする。

if("showMessahge" in obj) {
  console.log("含む");
}else{
  console.log("含まない");
}

知っておくとデバッグ時に役に立つことがあると思います。