let user = { name: "Seongmin", age: 26, isMan: true }; for (let key in user) { alert(key); // name, age, isMan alert(user[key]); // Seongmin, 26, true
for ~in 을 사용하면 객체의 모든 키를 순회가능하다.
let fruits = { "53" : "사과", "42" : "오렌지", "31" : "딸기", "17" : "수박" }, for ( let fruit in fruits ) { alert(fruit); // 17, 31, 42, 53 }
예외는 있다. 키가 정수로 되어 있다면 정수 순으로 프로퍼티가 자동 정렬 되는 것을 볼 수 있다. 이를 정수 프로퍼티라 한다.
let user = { name : "Seongmin" }; let permission1 = { Read : "true" }; let permission2 = { Write : "false" }; //permission1, permission2 property를 user로 copy Object.assign(user, permission1, permission2); // user = { name : "Seongmin", Read : "true", Write : "false" }
Object.assign을 이용하여 객체를 복사할 수 있다.
목표 객체에 동일한 이름을 가진 프로퍼티가 있다면 덮어씌워진다.