ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 얕은 복사 vs 깊은 복사
    js 2023. 8. 14. 17:07
    <!DOCTYPE html>
    <html>
    
    <head>
      <meta charset="utf-8" />
      <meta http-equiv="X-UA-Compatible" content="IE=edge" />
      <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
      <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
      <style>
      </style>
    </head>
    
    <body>
      <a href="#" class="pop">클릭하여 페이지 열기</a>
    
      <script>
        $(document).ready(function () {
    
          //얕은 복사 -> 객체를 복사할 때 원본 값과 복사된 값이 같은 참조(=메모리 주소)를 가리키는 것
    
          let a = [1,2,3];
          let b = a;
    
          b.push(4);
    
          console.log(a);	//[1,2,3,4]
          console.log(b);	//[1,2,3,4]
    
          //깊은 복사 -> 복사된 객체가 다른 주소를 참조하며 내부의 값만 복사된다.
    
          let c = [1,2,3];
          let d = [...c]; // spread 전개 연산자 -> 자바에서는 stream api 활용
    
          d.push(4);
    
          console.log(c);	//[1,2,3]
          console.log(d);	//[1,2,3,4]
    
        });
      </script>
    </body>
    
    </html>

    'js' 카테고리의 다른 글

    concat,spread 연산자 차이  (0) 2023.08.14
    concat,push 차이  (0) 2023.08.14
    문자열자르기  (0) 2021.06.29
    클라이언트 자바스크립트  (0) 2020.08.18
    HTML 요소를 동적으로 읽고 쓰기  (0) 2020.08.17
Designed by Tistory.