javascript

비파괴적 처리와 파괴적 처리

노엠디엔 2022. 11. 8. 19:01

자바스크립트는 자료 처리를 위해서 다양한 연산자, 함수, 메서드를 제공합니다. 자료 처리 연산자, 함수, 메서드는 크게

비파괴적 처리와 파괴적 처리로 구분 할 수 있다.

비파괴적 처리란?

 처리후에 원본 내용이 변경지 않는다.

파괴적 처리란?

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

 

비파괴적 처리

사진과 같이 a 변수에 값과 b 변수에 값을 + 연산자로 합쳐 c라는 변수를 만들었다.

c라는 변수는 a와 b 가 합쳐진 "안녕하세요"라는 값이 나왔다.

원본인 a 와 b 변수는 +연산자와 상관없이 값이 원래 상태를 유지했다.

 

파괴적 처리

 

arrat라는 배열에 '사과', '배', '바나나' 요소들을 넣고

push()를 사용해 '귤'이라는 요소도 추가하였다.

'사진과 같이 push()메소드를 실행한 뒤 array의 값을 보면 원본과 달라진 것을 알 수 있다.

과거에는 컴퓨터 메모리가 많이 부족했다고 한다. 그래서 프로그래밍 언어와 라이브러리들은 최대한 메모리를 절약해서 사용하는 방식으로 설계되었습니다.

그나마 결과가 기본 자료형이면 메모리를 조금만 차지하기 때문에 원본과 결과를 모두 메모리에 저장해도 크게 무리가 없었다.

하지만 배열처럼 크기가 어느 정도인지 모르는 대상의 원본과 결과를 모두 메모리에 저장하는 것은 위험할 수 있다고 한다.

그래서 배열과 같이 거대해질 수 있는 자료는 메모리를 절약할 수 있게 대부분 파괴적 처리로 이루어졌다.

다만 파괴적 처리는 메모리를 절약할 수 있지만. 원본이 사라지기 때문에 위험하다.

따라서 메모리가 여유로운 현대의 프로그래밍 언어와 라이브러리는 자료 보호를 위해서 대부분 비파괴적  처리를 한다.

'javascript' 카테고리의 다른 글

break 와 continue 키워드  (0) 2022.11.10
for문과 while문  (0) 2022.11.10
if 문 과 switch 문 그리고 삼항 연산자  (0) 2022.11.08
Null 과 Undefined 와 NaN  (0) 2022.11.07
Truthy와 Falsy (Boolean)  (0) 2022.11.07