생활코딩 이고잉님 강의(JavaScript Immutability) 수강 중 정리한 내용입니다. 배열 객체는 내장된 push 메소드를 통해 배열에 원소를 추가하고, 추가한 원소를 반환할 수 있다. 그런데 만약 여러 변수에 특정 배열을 똑같이 담고 그 특정 배열에 push를 통해 원소를 추가한다면 원소가 추가된 새로운 배열이 모든 변수에 공유된다. 자바스크립트에서는 변수가 객체를 담으면 실제로는 객체의 위치를 가리키고 있는 것이기 때문에 이러한 값이 저장된 변수가 복사되었을 때 객체 자체가 복사되는 것이 아닌 하나의 위치에 있는 원본(유일한) 객체를 가리키는 위치가 복사된다. 그래서 push를 통해 원본(유일한) 객체에 원소를 추가한다면 공유된 여러 변수가 모두 변화된 값을 가진다. 만약 이러한 특징을 이..