얕은복사 썸네일형 리스트형 깊은 복사는 다른 객체를 생성해 낸다고 보아도 되겠다. [JS 문법 종합반 3주차 - 1] 얕은 복사는 중첩된 객체를 얕은 복사하면 문제가 있었다. 관련하여 게시물참조 https://gamunbidev.tistory.com/54 그런 문제를 해결하는 것이 깊은 복사다. 깊은 복사를 하면 복사당한 객체나 복사로 생긴 객체 하나를 수정하면 그 건드린 객체만 바뀐다. (얕은 복사에서는 하나를 수정하면 둘다 바뀌는 문제가 있었다.) 여러 말 할 필요 없이 코드를 보자. var user = { name: 'wonjang', urls: { portfolio: 'http://github.com/abc', blog: 'http://blog.com', facebook: 'http://facebook.com/abc', }, arr: ['a', 'b'] }; // 깊은 복사 var copyObjectDeep = .. 더보기 얕은 복사의 문제점: 중첩된 객체를 복사하면 복사당한 객체는 복사로 생겨난 객체와 동시에 수정된다. [JS문법 종합반 3주차 - 1] 얕은 복사는 문제가 있다. 무엇일까? 중첩된 객체를 얕은 복사를 할 때가 문제이다. 중첩된 객체란 객체 안에 객체가 있는 경우다. 이 중첩된 객체가 복사당하면 복사 결과물인 객체와는 당연히 따로 서로 다른 객체가 되어야 할 것이다. 그런데 그게 안된다. 복사당한 객체를 수정하면 복사결과 객체까지 바뀌어 버린다. 반대로 복사결과 객체를 수정하면 복사당한 객체도 바뀐다. 객체내부의 중첩객체를 수정하면 그렇다. 얕은 복사는 for in 구문을 활용해서 하는데 코드는 아래와 같다. 문제가 있는 코드다. var user = { name: 'wonjang', urls: { portfolio: 'http://github.com/abc', blog: 'http://blog.com', facebook: 'http://f.. 더보기 이전 1 다음