- 追加された行はこの色です。
- 削除された行はこの色です。
* 連想配列(オブジェクト) [#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(i); // name, age, sex
console.log(obj[i]); // taro, 10, man
}
console.log( obj.name );
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()を使う。