* 連想配列(オブジェクト) [#s1d134d1]
var obj = { name : "taro", age : 10, sex : "man" };
for ( i in obj ) {
console.log(i); // name, age, sex
console.log(obj[i]); // taro, 10, man
}
console.log(obj.name);
なお、普通にforを使うと、prototypeで設定されたプロパティも参照する。
Object.prototype.foo = function () {};
var obj = { name : "taro", age : 10, sex : "man" };
for ( i in obj ) {
console.log(i); // name, age, sex, foo
}
これを回避するには、
for ( i in obj ) {
if ( obj.hasOwnProperty(i) === true ) {
console.log(i); // name, age, sex
}
}
のようにhasOwnProperty()を使う。