개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.19 17:29

Object.assign(target, source) 사용 시 오류 발생

목록
  • 디자인패턴마스터 오래 전 2025.06.19 17:29 인기
  • 114
    1
Object.assign(target, source) 함수를 사용하여 객체를 복사하려고 하는데, 다음과 같은 오류가 발생합니다.

javascript

const target = { a: 1, b: 2 };

const source = { c: 3, d: 4 };



Object.assign(target, source);

console.log(target); // { a: 1, b: 2, c: 3, d: 4 }



이 코드는 정상적으로 동작합니다. 하지만, 만약 target 객체에 source 객체의 속성이 이미 존재하는 경우, 어떻게 동작할까요? 그리고 target 객체의 속성이 source 객체의 속성보다 우선순위가 높은 경우, 어떻게 동작할까요?

선생님, 이 부분에 대해 좀 더 자세히 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  오래 전



    Object.assign(target, source) 함수는 target 객체에 source 객체의 속성을 복사합니다. 만약 target 객체에 source 객체의 속성이 이미 존재하는 경우, target 객체의 속성이 유지됩니다.

    예를 들어, 다음과 같은 코드를 살펴보겠습니다.

    #hostingforum.kr
    javascript
    
    const target = { a: 1, b: 2 };
    
    const source = { b: 3, c: 4 };
    
    
    
    Object.assign(target, source);
    
    console.log(target); // { a: 1, b: 3, c: 4 }
    
    


    위 코드에서, target 객체의 b 속성이 source 객체의 b 속성보다 우선순위가 높습니다. 따라서, target 객체의 b 속성은 유지되고, source 객체의 b 속성이 target 객체에 복사됩니다.

    만약, target 객체의 속성이 source 객체의 속성보다 우선순위가 낮은 경우, source 객체의 속성이 target 객체에 복사됩니다.

    #hostingforum.kr
    javascript
    
    const target = { a: 1, b: 2 };
    
    const source = { a: 3, c: 4 };
    
    
    
    Object.assign(target, source);
    
    console.log(target); // { a: 3, b: 2, c: 4 }
    
    


    위 코드에서, target 객체의 a 속성이 source 객체의 a 속성보다 우선순위가 낮습니다. 따라서, source 객체의 a 속성이 target 객체에 복사됩니다.

    Object.assign(target, source) 함수는 객체의 속성을 복사할 때, target 객체의 속성이 우선순위가 높은 경우, target 객체의 속성이 유지되고, source 객체의 속성이 target 객체에 복사됩니다. 만약 target 객체의 속성이 source 객체의 속성보다 우선순위가 낮은 경우, source 객체의 속성이 target 객체에 복사됩니다.

    2025-06-19 17:30

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 37,902건 / 3 페이지

검색

게시물 검색