깊은 복사와 얕은 복사를 이해하기 전에 먼저 몇 가지 기본 개념을 이해해야 합니다. 메모리에 저장되는 변수 유형은 값 유형과 참조 유형으로 구분됩니다.
1. 값 유형 할당의 저장 특성은 변수에 있는 모든 데이터를 복사하여 새 변수에 저장합니다.
예: var num = 123; var num1=num;
은 변수에 저장된 숫자가 123임을 의미합니다. 그런 다음 데이터를 복사합니다. 즉, 복사본 123입니다. 그러면 메모리에 2개의 배열이 있습니다. 복사된 데이터를 num2에 할당합니다. 이는 메모리에 두 개의 데이터 복사본이 있다는 특징이 있습니다.
2. 참조 유형 지정.
var o={name:'Zhang San'};
var obj=o;
과제는 변수 o에 저장된 데이터를 복사한 후 이 데이터를 obj에 할당됩니다. 메모리에는 1개의 데이터 포인트가 있으며, obj를 사용하여 수정된 name 속성은 o의 이름에 영향을 미칩니다.
복사할 때 데이터의 모든 참조 구조가 복사되면 데이터는 메모리에 독립적으로 딥 복사됩니다.
복사할 때 현재 개체의 속성만 복사됩니다. , 속성이 고려되지 않는 참조 유형인 경우
복사: 개체 데이터 복사를 참조합니다.
깊은 복사와 얕은 복사에 대해 논의하기 객체의 속성도 참조 유형인지 확인하세요.
JavaScript의 객체지향 Deep Copy와 Shallow Copy에 대해 간략하게 설명한 위 글은 모두 편집자가 공유한 내용이므로 참고가 되셨으면 좋겠습니다. 또한 PHP Chinese를 지원해 주시길 바랍니다. 웹사이트.
JavaScript의 객체지향 깊은 복사와 얕은 복사에 대한 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!