[Object.assign]_ES6 병합함수

2022. 1. 6. 16:15[프론트엔드]_/[Javascript]_ES6

728x90
반응형

문법 :Object.assign(target, ... sources)


해당 메소드는 타켓 파라미터와, 기타 병합 할 객체를 받습니다.
그리고 리턴값으로는 target object를 반환합니다.

이전 JQuery에서 extends와 유사하게 target이 되는 객체에 새 덧붙여 return 하기 때문에
원본을 해치지 않으려면 빈 {} 객체를 target으로 두고 해당 객체를 받아오면 됩니다.

위의 코드에서 copy1과 copy2는 똑같이 나옵니다. 왜냐하면 copy 와 copy2에 저장된 요소는 a 객체이고 a 객체는 assign에 의해 c까지 합쳐진 상태가 되었기 때문입니다.

 

이렇게 사용하던 객체를 이용하면 마지막에 합쳐진 결과값으로 나오기 때문에 원본의 훼손이 일어나지 않게 하려면 빈 {}를 target으로 하면 됩니다.

 

728x90
반응형