이렇게 참조 관계가 생기지 않는 상황을 복사(copy)라고 합니다. 복사는 어떤 값을 다른 변수에 대입할 때 기존 값과 참조 관계가 끊기는 것을 의미합니다. 객체가 아닌 값은 애초부터 참조 관계가 없으므로 그냥 복사만 됩니다.
객체인 값을 복사하는 방법도 있습니다. 다만, 생각해야 할 부분이 있습니다. 객체의 속성으로 또 다른 객체가 들어 있을 수도 있다는 점입니다. 객체 내부에 객체가 있는 경우 다른 변수에 대입하면 어떻게 될까요? 다음 배열을 예로 들어 보겠습니다.
const array = [{ j: 'k' }, { l: 'm' }];
array[0]; // { j: 'k' }
array[1]; // { l: 'm' }