shallow copy 2

객체의 얕은 복사와 깊은 복사를 수행하는 방법들

JavaScript에서 객체를 복사하는 방법은 크게 얕은 복사와 깊은 복사로 나뉜다. 얕은 복사는 객체의 프로퍼티를 복사하지만, 중첩된 객체는 참조로 복사된다. 깊은 복사는 객체와 그 하위의 모든 객체를 새로운 객체로 복사한다. 얕은 복사 (Shallow Copy) 1. Spread 문법 ({...}) const originalObject = { key1: 'value1', key2: 'value2' }; const shallowCopy = { ...originalObject }; console.log(shallowCopy); // { key1: 'value1', key2: 'value2' } 2. Object.assign() const originalObject = { key1: 'value1', ke..

Javascript 2023.11.23

데이터 복사(copy)에도 깊이가 있다?

이 내용은 자바스크립트 객체를 공부하던 중 아래 내용으로 부터 시작되었다. 객체는 메모리를 효율적으로 사용하기 위해, 그리고 객체를 복사해 생성하는 비용을 절약하여 성능을 향상시키기 위해 객체는 변경 가능한 값으로 설계되어 있다. 메모리 사용의 효율성과 성능을 위해 어느 정도의 구조적인 단점을 감안한 설계라고 할 수 있는데, 이러한 구조적 단점에 따른 부작용이 있다. 그것은 원시 값과는 다르게 여러 개의 식별자가 하나의 객체를 공유할 수 있다는 것이다. 알다시피, 자바스크립트의 자료형은 큰 범주로 "원시(Primitive)타입과 참조(Reference)타입이 있는데, 이 둘의 가장 큰 차이점 중 하나는 바로 원시타입은 할당된 값 그대로 저장되는 반면, 참조타입은 할당된 값이 아닌 해당 값이 저장되어 있는..

Javascript 2023.11.16