(예시 객체)
const obj = {
name: 'hello',
age: 42,
};
Object.keys(obj);
// Array ["name", "age"]
for...in 반복문과 동일한 순서를 가짐
console.log(Object.values(obj));
// Array ["hello", 42]
Object.entries(obj)
//[ [ 'name', 'hello' ], [ 'age', 42 ] ]
for (const [key, value] of Object.entries(obj)) {
console.log(`${key}: ${value}`);
}
// 'name: hello'
// 'age: 42'
객체들의 모든 열거 가능한 속성을 복사해서 해당 객체에 붙여넣은 다음 반환
const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };
const returnedTarget=Object.assign(target, source);
console.log(target) // { a: 1, b: 4, c: 5 }
console.log(returnedTarget) // { a: 1, b: 4, c: 5 }
target에 복사됨, 이때 target 배열(원본) 값들이 바뀜
3개 이상 객체도 붙여넣기 가능
const obj1 = {a : 1};
const obj2 = {b : 2};
const obj3 = {c : 3};
const newObj = Object.assign(obj1, obj2, obj3);
obj1 // { a: 1, b: 2, c: 3 }
obj2 // { b: 2 }
obj3 // { c: 3 }