• [혼공js] 3주차
  • 2024. 1. 16. 17:33
  • <기본미션>

    JavaScript에서 비파괴적 처리(non-destructive)와 파괴적 처리(destructive)는 데이터를 다루는 두 가지 접근 방식

    💟 비파괴적 처리

    원본 데이터를 변경하지 않고, 새로운 데이터를 생성하거나 반환하는 방식. 원본 데이터는 그대로 유지되며, 새로운 데이터는 필요한 변형이나 조작을 거쳐 생성된다.

    *장점 :

    1. 원본 데이터 보존: 비파괴적 처리는 원본 데이터를 보존하기 때문에, 필요한 경우에 언제든지 원래의 데이터로 복구할 수 있다.
    2. 재사용 가능: 변형된 데이터를 여러 곳에서 사용할 수 있다. 재사용이 가능하다.
    3. 불변성(immutability) 강조: 불변성은 코드의 예측 가능성을 높이고 버그를 줄일 수 있다.

    *단점 :

    1. 메모리 사용률: 새로운 데이터를 생성하므로 메모리 사용량이 늘어날 수 있다.
    2. 성능 영향: 더 많은 메모리 사용과 데이터의 복사로 인해 성능에 영향을 미칠 수 있다.

    💟 파괴적 처리

    괴적 처리는 원본 데이터를 직접 변경하는 방식. 원본 데이터 자체가 수정되며, 새로운 데이터를 생성하지 않는다.

    *장점 :

    1. 메모리 효율성: 새로운 데이터를 생성하지 않기 때문에 메모리 효율이 높아진다.
    2. 성능 향상: 메모리 사용이 적고 데이터를 직접 수정하므로 성능에 이점을 줄 수 있다.

    *단점 :

    1. 원본 데이터 손실: 원본 데이터가 변경되기 때문에, 필요에 따라 원본 데이터를 복원하기가 어려울 수 있다.
    2. 버그 발생 가능성: 원본 데이터를 변경하면서 예상치 못한 버그가 발생할 수 있다.
    3. 불변성 : 불변성 유지가 어렵다.

     

    <추가미션>

    ① 비파괴적: strA의 내용이 바뀌지 않았다.

    ② 파괴적: arrayB의 내용이 바뀌었다.

    ③ 비파괴적: arrayC의 내용이 바뀌지 않았다.

    ④ 비파괴적: strD의 내용이 바뀌지 않았다.

    '혼공js' 카테고리의 다른 글

    [혼공js] 6주차  (1) 2024.02.06
    [혼공js] 5주차  (0) 2024.01.30
    [혼공js] 4주차  (0) 2024.01.22
    [혼공js] 2주차  (0) 2024.01.12
    [혼공js] 1주차  (1) 2024.01.07