
Object.assign(target, source) 함수는 두 개의 객체를 합쳐주는 함수입니다. target은 결과 객체가 저장될 곳을 의미하고, source는 합쳐질 객체를 의미합니다.
target은 결과 객체가 저장될 곳을 의미하며, source는 합쳐질 객체를 의미합니다. 예를 들어, 다음 코드를 보겠습니다.
#hostingforum.kr
javascript
const obj1 = { a: 1, b: 2 };
const obj2 = { c: 3, d: 4 };
Object.assign(obj1, obj2);
console.log(obj1); // { a: 1, b: 2, c: 3, d: 4 }
이 코드에서는 obj1이 target이고 obj2가 source입니다. obj2의 모든 속성(c, d)가 obj1에 추가됩니다.
obj2의 일부만 source로 받는 방법은 다음과 같습니다.
#hostingforum.kr
javascript
const obj1 = { a: 1, b: 2 };
const obj2 = { c: 3, d: 4, e: 5 };
Object.assign(obj1, { c: 3, d: 4 }); // obj2의 일부만 source로 받습니다.
console.log(obj1); // { a: 1, b: 2, c: 3, d: 4 }
target이 obj1일 때, obj1에 이미 있는 key-value가 source에서 덮어씌어지는지 궁금합니다. 예를 들어, 다음 코드를 보겠습니다.
#hostingforum.kr
javascript
const obj1 = { a: 1, b: 2 };
const obj2 = { a: 3, c: 4 };
Object.assign(obj1, obj2);
console.log(obj1); // { a: 3, b: 2, c: 4 }
obj1에 이미 'a'와 'b'가 존재하는데, obj2에 'a'와 'b'가 존재한다면, obj1에 'a'와 'b'는 덮어씌어집니다. obj1의 'a'는 obj2의 'a'로, obj1의 'b'는 obj2의 'b'로 대체됩니다.
2025-08-07 08:28