참조형

· JAVASCRIPT
얕은 복사 (shallow copy) 와 깊은 복사 (deep copy) 얕은 복사와 깊은 복사는 참조형에만 해당된다. 얕은 복사 javascript의 참조형은 가변성 때문에, 데이터를 복사해오는 것에 주의가 필요하다. 이때 얕은 복사는 참조형 데이터의 1차원 데이터만 복사한다. 더 깊은 차원의 데이터는 깊은 복사를 이용해서 가져온다. 얕은 복사는 객체의 경우 Object.assign()을 통해, 배열의 경우 concat()을 통해 할 수 있으며, 두 가지 데이터 모두 공통적으로 스프레드 연산자 ... 을 사용할 수 있다. // 얕은 복사(shallow copy) - 참조형의 1차원 데이터만 복사 let a = 1 let b = a // a 주소의 메모리 주소가 b에 할당됨 b = 2 console.lo..
· JAVASCRIPT
불변성과 가변성 불변성과 가변성은 그 데이터가 원시형인가 참조형인가에 따라 갈리는 성질이다. 객체(object), 배열(array), 함수(function)이 참조형 데이터에 해당된다. 이를 제외한 데이터는 원시형에 해당된다. 원시형 데이터는 불변성을, 참조형 데이터는 가변성을 가지고 있다. 원시형은 모양이 같으면 같다고 할 수 있지만, 객체형은 모양이 같다고 해서 같다고 해서는 안된다. // 불변성 & 가변성 // 불변성(Immutability)은 생성된 데이터가 메모리에서 변경되지 않고 가변성(Mutability)은 생성된 데이터가 메모리에서 변경될 수 있음을 의미 // 참조형: 객체, 배열, 함수 // 자바스크립트 원시형은 불변성을, 참조형은 가변성을 가지고 있다. let a = 1; let b =..