딥 카피와 얕은 사본을 이해하기 전에 몇 가지 기본 개념을 이해해야합니다. 메모리에 저장된 변수 유형은 값 유형 및 참조 유형으로 나뉩니다.
1. 값 유형 할당의 저장 특성 : 변수의 모든 데이터를 복사하여 새 변수에 저장하십시오.
예를 들어 : var num = 123; var num1 = num;
변수에 저장된 숫자는 123입니다. 그런 다음 데이터 하나를 복사합니다. 즉, 123 개의 사본을 복사하는 것을 의미합니다. 그런 다음 메모리에는 2 개의 배열이 있습니다. 사본 데이터를 NUM2에 할당하면 특성은 메모리에 데이터의 두 사본이 있다는 것입니다. 이것은 얕은 사본으로 이해 될 수 있습니다.
2. 참조 유형의 할당.
var o = {이름 : 'Zhang San'};
var obj = o;
할당은 변수 O에 저장된 데이터 사본을 복사 한 다음 데이터를 OBJ에 할당하는 것을 의미합니다. 메모리에는 1 개의 데이터 지점이 있으며 OBJ로 수정 된 이름 속성은 O의 이름에 영향을 미칩니다.
데이터의 모든 참조 구조가 사본에 복사되면 데이터는 메모리에 독립적이며 깊은 사본입니다.
현재 객체의 속성이 복사 할 때만 복사되고 속성이 참조 유형 인 경우 얕은 사본입니다.
복사 : 사본을 복사하십시오. 객체 데이터를 복사하는 것을 말합니다.
딥 카피와 얕은 사본을 논의 할 때 객체의 특성이 참조 유형인지 확인해야합니다.
JavaScript의 깊고 얕은 객체 지향 사본 및 복사에 대한 위의 간단한 논의는 내가 공유하는 모든 내용입니다. 나는 그것이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.