[자바스크립트] 파괴 vs 비파괴

박은정·2021년 11월 1일
0

자바스크립트

목록 보기
3/25
post-thumbnail

자바스크립트에서 자료 처리를 위한 다양한 연산자 및 함수, 메서드가 있는데
이러한 자료 처리 연산자, 함수, 메서드는 처리 후 원본 상태 변화에 따라 파괴적 처리와 비파괴적 처리로 구분된다

과거에는 기본 자료형이면 원본과 결과를 모두 메모리에 저장했지만
배열처럼 크기가 어느 정도인지 모르는 대상의 원본과 결과를 모두 메모리를 저장하는 것은 위험하기 때문에
메모리를 절약할 수 있게 대부분 파괴적 처리를 하게 된다
최근에 나온 프로그래밍 언어 및 라이브러리는 자료보호를 위해 대부분 비파괴적 처리를 한다

비파괴적 처리

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

const a = 'hello'
const b = 'welcome'
const c = a + b

console.log(c) // 'hellowelcome'

// === 원본 내용이 변경되지 않음===
console.log(a) // 'hello'
console.log(b) // 'welcome'

파괴적 처리

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

const array = ['apple', 'banana', 'candy']
array.push('orange')
console.log(array) // ['apple', 'banana', 'candy', 'orange']
profile
새로운 것을 도전하고 노력한다

0개의 댓글