객체 복사 2

객체 배열 분류 동일 객체 참조 / 객체 복사(Object.assign)

- Object.assign() Object.assign([], data) Object.assign()은 JavaScript에서 객체를 복사하는 메서드입니다. 첫 번째 매개변수는 대상 객체이고, 나머지 매개변수는 복사하고자 하는 소스 객체입니다. Object.assign([], data)는 빈 배열([])에 data 객체의 속성을 복사하여 새로운 배열을 생성하는 코드입니다. []는 빈 배열을 생성하는 것이며, data 객체의 속성들을 복사하여 새로운 배열로 만듭니다. - 예시 전체리스트를 객체의 특정 속성 값에 따라 분류할 때 this.AList.push(data) 데이터를 push하는데 이때 AllList의 객체를 참조하게 됩니다. 그래서 아래에서 children메뉴를 필터링 할 때 BList의 값이 ..

Frontend/javaScript 2023.06.22

깊은 복사(deep copy), 얕은 복사(shallow copy)

자바 스크립트의 데이터 타입 기본 데이터 타입 (원시 타입) string, number, null, undefined, symbol 참조형 데이터 타입 Array, Object 참조형 데이터는 변수가 객체의 주소를 가리키는 값 -> 복사된 값(주소)이 같은 값을 가리킴. var obj2 = obj1; 그래서 위와같이 일반적인 복사를 하면 복사한 데이터(obj2)를 수정하면 원본 데이터(obj1)도 같이 변경됨. -> 얕은 복사가 일어남!! 얕은 복사 Shllow Copy 이처럼 객체를 복사할 때 원본과 복사본이 같은 참조주소를 갖는 것을 얕은 복사라고 한다. 깊은 복사 Deep Copy 깊은 복사는 복사본의 원본과의 참조가 완전히 끊어진 객체를 말한다. 참조 공간도 같이 복사된다. 1. 배열 복사 sli..

Frontend/javaScript 2022.04.30