혼공JS 3주차

나야나·2022년 1월 31일
0

혼공JS

목록 보기
3/5
post-thumbnail

비파괴적 처리와 파괴적 처리의 의미와 장단점 설명하기

비파괴적 처리

  • 처리 후에 원본 내용이 변경되지 않는다.
      const a = "안녕";
      const b = "하세요";

      const c = a + b;

      console.log("c 결과값", c);

      console.log("a :", a);
      console.log("b :", b);

결과 확인

  • a와 b를 더해 c를 생성해도 a, b의 값은 변하지 않는다.

파괴적 처리

  • 처리 후에 원본 내용이 변경된다.

push() 메소드

    <script>
      const todos = ["우유 구매", "업무 메일 확인하기", "필라테스 수업"];

      console.log("todos", todos);

      todos.push("저녁 식사 준비하기");

      todos.push("피아노 연습하기");

      console.log("todos", todos);
    </script>

결과

  • todos 배열에 요소가 추가 되었다. 그래서 배열이 변화됐다.

  • 과거에는 컴퓨터 메모리가 많이 부족했기 때문에 프로그래밍 언어와 라이브러리들은 최대한 메모리를 절약해서 사용하는 방식으로 설계되었습니다.
    그래서 배열과 같이 거대해 질 수 있는 자료는 메모리를 절약할 수 있게 대부분 파괴적 처리로 이루어졌습니다. 파괴적 처리는 메모리를 절약할 수 있지만, 원본이 사라지기 때문에 위험할 수 있습니다. 그래서 메모리가 여유로운 현대의 프로그래밍 언어와 라이브러리는 자료 보호를 위해 대부분 비파괴적 처리를 합니다.

추가로 비파괴적 처리로는 slice() 메서드,
파괴적 처리로는 splice() 메서드가 있다.
이 부분은 조금 더 정리해서 추가로 정리해보겠습니다.

profile
열심히 하는 중

0개의 댓글