깊은 복사 2

얕은 복사 / 깊은 복사 / 완벽한 깊은 복사

얕은 복사와 깊은 복사 그리고 완벽한 깊은 복사를 하는 법에 대해서 알아보려고 합니다. 먼저 얕은 복사 예제 입니다. object1 객체에는 이름, 나이, 세계의 음식, 함수 가 들어있습니다. 이때 object2는 object1을 할당받았습니다. 일치 연산자('===')를 통해서 object를 비교하였을 때 true가 출력됩니다. 이 의미는 같은 주소를 가리키고 있기 때문입니다. 그렇게 때문에 아래서 object2.food.us 값을 buger로 수정하게 되면 원본 객체인 object1의 요소도 바뀌게 됩니다. 이게 바로 얕은 복사 Shallow Copy입니다. 다음으로 일반적인 깊은 복사를 해보았습니다. object1을...(spread) 연산자를 통해서 object3에 복사해 주었습니다. 이후 obj..

카테고리 없음 2023.06.17

JSON 함수를 통한 Deep Copy

먼저 user 객체를 생성합니다. let user = { name: "sungjun", age: 50, size: { height: 200, weight: 70, } }; 다음으로 deepCopy 객체를 생성한 후 JSON.stringify() 함수를 통해 user객체를 문자열로 변환합니다. 그 후 JSON.parse() 함수를 통해 문자열 user를 다시 object 형태로 변환해줍니다. (정말 간편한 방법인 것 같습니다.) let deepCopy = JSON.parse(JSON.stringify(user)); 다음으로 deepCopy.size.height의 값을 250으로 변경하신 후 결과를 보시면 user객체와 별개로 값이 변경되는 걸 확인하실 수 있습니다. deepCopy.size.height =..