자바스크립트에는 원시값과 참조값, 두 가지의 값의 형태가 있다.
그 중에서 객체는 참조값인데, 이런 객체를 복사할 때 나타나는 차이점을 깊은 복사(Deep copy)와 얕은 복사(Shallow copy)의 차이 라고한다.
그럼 깊은 복사와 얕은 복사가 각각 어떤건지 알아보자.
객체가 중첩되어 있을 경우에도 내부 객체까지 모두 새로 생성되어 원본과의 참조가 완전히 끊어진 경우
원본과이 참조가 완전히 끊어졌기 때문에 각각의 메모리에 할당이 되어있어 복사된 A객체와 B객체 중 어느 하나를 수정해도 다른 객체에 영향을 미치지 않는다.
객채가 중첩되어 있을때 가장 상위 객체만 새로 생성되고 내부 객체들은 참조 관계인 경우
같은 주소값을 가리키기 때문에 복사된 A객체와 B객체 중 어느 하나라도 수정하면 다른 객체에 영향을 미친다.