장점은 "="와 달리 클론 배열은 메모리에서 독립적이며 이를 사용하여 원하는 모든 작업을 수행할 수 있다는 것입니다.
js에서는 배열과 객체가 참조 유형입니다.
으아악
으아악
그래서 복제의 목적은 원본 데이터를 오염시키지 않고 새로운 데이터 복사본을 생성하는 것입니다.
깊은 복사와 얕은 복사의 경우:
으아악
보시다시피 얕은 복사와 깊은 복사의 차이점은 얕은 복사는 obj1의 첫 번째 레이어만 통과한 다음 obj1의 각 속성을 obj2에 할당하는 반면, 깊은 복사는 속성 값이 객체일 때 할당하지 않는다는 것입니다. 이번에는 딥 카피가 새로운 빈 객체를 생성한 다음, 해당 객체의 값을 빈 객체에 할당하고, 빈 객체를 obj3의 속성으로 반환합니다.
장점은 "="와 달리 클론 배열은 메모리에서 독립적이며 이를 사용하여 원하는 모든 작업을 수행할 수 있다는 것입니다.
js에서는 배열과 객체가 참조 유형입니다.
으아악 으아악그래서 복제의 목적은 원본 데이터를 오염시키지 않고 새로운 데이터 복사본을 생성하는 것입니다.
깊은 복사와 얕은 복사의 경우:
으아악보시다시피 얕은 복사와 깊은 복사의 차이점은 얕은 복사는 obj1의 첫 번째 레이어만 통과한 다음 obj1의 각 속성을 obj2에 할당하는 반면, 깊은 복사는 속성 값이 객체일 때 할당하지 않는다는 것입니다. 이번에는 딥 카피가 새로운 빈 객체를 생성한 다음, 해당 객체의 값을 빈 객체에 할당하고, 빈 객체를 obj3의 속성으로 반환합니다.
JS 프로그래밍에서 매우 중요한 원칙은"자신의 것이 아닌 개체를 만지지 마세요"
입니다.생생한 비유를 드리기 위해 책(객체)을 빌려드렸는데, 그냥 읽고(읽고) 싶다고 생각했는데, 서예(쓰기) 연습을 하려고 사용하셨네요. 당신은 그것을 나에게 돌려줍니다.
그리고 deepClone이 이 문제를 해결해 드립니다. 책을 드리고 복사한 후 책을 있는 그대로 돌려주시면 원하시는 대로 폐기하실 수 있습니다.
자바스크립트에서 깊은 복사와 얕은 복사?