"클론"이란 무엇입니까?
실제 프로그래밍 과정에서 우리는 종종 이런 상황에 직면합니다. 객체 A가 있습니다. 특정 순간에 A에는 이미 유효한 값이 포함되어 있으며 이때 A와 정확히 동일한 새로운 객체 B가 있을 수 있습니다. 그리고 B에 대한 후속 변경 사항은 A의 값에 영향을 미치지 않습니다. 즉, A와 B는 두 개의 독립적 개체이지만 B의 초기 값은 A 개체에 의해 결정됩니다. Java/javascript 언어에서는 간단한 할당문으로는 이러한 요구를 충족할 수 없습니다. 이러한 요구를 충족할 수 있는 방법은 많지만, clone() 메서드를 구현하는 것이 가장 간단하고 효율적인 방법입니다. 물론 JavaScript 언어에는 그러한 메서드가 없습니다.
그래서 특별히 두 가지 복제 메서드를 작성했습니다. 얕은 복사본이고 다른 하나는 깊은 복사본입니다.
설명:
얕은 복사본(섀도우 복제): 여전히 원본 참조에 속하는 개체의 기본 유형과 개체 유형만 복사됩니다. 딥 카피(deep clone) : 객체의 기본 클래스뿐만 아니라 원본 객체에 포함된 객체까지 복사되는 것입니다. 즉, 새로운 객체가 완전히 생성됩니다.