>  Q&A  >  본문

javascript - js에서 clone 메소드를 사용하는 방법은 무엇입니까?

어레이 등을 작업할 때 가끔 clone 방식을 사용하는 경우가 있는데, 이것을 사용하지 않고 직접 값을 할당해도 괜찮다는 생각이 들 때가 있습니다. 메모리를 절약하려면? 얕은 카피, 딥 카피 등도 있는데, 초보자인 점 양해 부탁드립니다. .

大家讲道理大家讲道理2647일 전738

모든 응답(3)나는 대답할 것이다

  • typecho

    typecho2017-06-26 10:54:02

    장점은 "="와 달리 클론 배열은 메모리에서 독립적이며 이를 사용하여 원하는 모든 작업을 수행할 수 있다는 것입니다.

    js에서는 배열과 객체가 참조 유형입니다.

    으아악 으아악

    그래서 복제의 목적은 원본 데이터를 오염시키지 않고 새로운 데이터 복사본을 생성하는 것입니다.

    깊은 복사와 얕은 복사의 경우:

    으아악

    보시다시피 얕은 복사와 깊은 복사의 차이점은 얕은 복사는 obj1의 첫 번째 레이어만 통과한 다음 obj1의 각 속성을 obj2에 할당하는 반면, 깊은 복사는 속성 값이 객체일 때 할당하지 않는다는 것입니다. 이번에는 딥 카피가 새로운 빈 객체를 생성한 다음, 해당 객체의 값을 빈 객체에 할당하고, 빈 객체를 obj3의 속성으로 반환합니다.

    회신하다
    0
  • 给我你的怀抱

    给我你的怀抱2017-06-26 10:54:02

    JS 프로그래밍에서 매우 중요한 원칙은"자신의 것이 아닌 개체를 만지지 마세요"

    입니다.

    생생한 비유를 드리기 위해 책(객체)을 빌려드렸는데, 그냥 읽고(읽고) 싶다고 생각했는데, 서예(쓰기) 연습을 하려고 사용하셨네요. 당신은 그것을 나에게 돌려줍니다.

    그리고 deepClone이 이 문제를 해결해 드립니다. 책을 드리고 복사한 후 책을 있는 그대로 돌려주시면 원하시는 대로 폐기하실 수 있습니다.

    회신하다
    0
  • 阿神

    阿神2017-06-26 10:54:02

    자바스크립트에서 깊은 복사와 얕은 복사?

    회신하다
    0
  • 취소회신하다