2007年 12月 29日

JS: コンテナとしての Object のキーの列挙

常にこう書くことにした。

for (var k in obj) if (obj.hasOwnProperty(k)) {
    alert(obj[k]);
}

今までは

for (var k in obj) {
    if (!obj.hasOwnProperty(k)) continue;
    alert(obj[k]);
}

とか書いてたけど、! を書くのを忘れて、いったりきたりしてしまうのでめんどかった。

ちなみに

for (var k in obj) {
    if (obj.hasOwnProperty(k)) {
        alert(obj[k]);
    }
}

はインデントが増えるから嫌だ。

hasOwnProperty は長いけど、慣れれば (主に autocomplpop.vim のおかげで) 気にならない。